init
12
.editorconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = false
|
||||
BIN
.env.example
Normal file
38
.gitignore
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
# build output
|
||||
dist/
|
||||
# generated types
|
||||
.astro/
|
||||
|
||||
# dependencies
|
||||
node_modules/
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# environment variables
|
||||
.env
|
||||
.env.local
|
||||
.env.production
|
||||
.env.production.local
|
||||
|
||||
# macOS-specific files
|
||||
.DS_Store
|
||||
|
||||
# IDE
|
||||
.idea/
|
||||
.vscode/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
Thumbs.db
|
||||
.DS_Store
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
*.temp
|
||||
.cache/
|
||||
1
.node-version.bak
Normal file
@@ -0,0 +1 @@
|
||||
v20
|
||||
196
README-zh.md
Normal file
@@ -0,0 +1,196 @@
|
||||
# Rico Portfolio - 设计师个人作品集网站
|
||||
|
||||
一个基于 Astro 构建的现代化、高性能设计师个人作品集网站模板。采用复古蓝色主题,支持暗色模式,具有精美的动画效果和优秀的用户体验。
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## ✨ 特性
|
||||
|
||||
- 🚀 **基于 Astro** - 快速、轻量级的静态站点生成器
|
||||
- 🎨 **现代化设计** - 复古蓝色主题,支持暗色/亮色模式切换
|
||||
- 📱 **完全响应式** - 适配各种设备尺寸
|
||||
- 🎭 **精美动画** - 使用 AOS 和自定义动画效果
|
||||
- 📝 **博客系统** - 支持 MDX 格式的博客文章
|
||||
- 🎯 **作品展示** - 优雅的作品集展示页面
|
||||
- 🔍 **SEO 优化** - 内置 SEO 和社交媒体标签
|
||||
- ⚡ **性能优化** - 图片优化、代码分割、懒加载
|
||||
- 🌐 **国际化支持** - 易于扩展多语言支持
|
||||
|
||||
## 🛠️ 技术栈
|
||||
|
||||
- **框架**: [Astro](https://astro.build) 5.14.1
|
||||
- **样式**: [Tailwind CSS](https://tailwindcss.com) 4.1.14
|
||||
- **动画**: [AOS](https://michalsnik.github.io/aos/)
|
||||
- **物理引擎**: [Matter.js](https://brm.io/matter-js/)
|
||||
- **内容管理**: MDX
|
||||
- **类型检查**: TypeScript
|
||||
|
||||
## 📦 安装
|
||||
|
||||
### 使用包管理器
|
||||
|
||||
```bash
|
||||
# 使用 npm
|
||||
npm install
|
||||
|
||||
# 使用 pnpm (推荐)
|
||||
pnpm install
|
||||
|
||||
# 使用 yarn
|
||||
yarn install
|
||||
```
|
||||
|
||||
### 环境变量配置
|
||||
|
||||
复制 `.env.example` 文件为 `.env` 并填写相应的配置:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
编辑 `.env` 文件,填入你的配置:
|
||||
|
||||
```env
|
||||
# 站点 URL(可选,但有默认值 https://your-domain.com)
|
||||
# 首次部署可以不设置,但建议尽快设置正确的域名以优化 SEO
|
||||
PUBLIC_SITE_URL=https://your-domain.com
|
||||
|
||||
# 分析工具(可选)
|
||||
PUBLIC_GA4_ID=your-google-analytics-id
|
||||
PUBLIC_UMAMI_ID=your-umami-id
|
||||
```
|
||||
|
||||
> **注意**:`PUBLIC_SITE_URL` 如果没有设置,会使用默认值 `https://your-domain.com`。虽然不会报错,但建议在部署后尽快设置正确的域名,以确保 sitemap、RSS feed 和 SEO 元标签正常工作。
|
||||
|
||||
## 🚀 开发
|
||||
|
||||
```bash
|
||||
# 启动开发服务器
|
||||
npm run dev
|
||||
# 或
|
||||
pnpm dev
|
||||
|
||||
# 访问 http://localhost:4321
|
||||
```
|
||||
|
||||
## 📦 构建
|
||||
|
||||
```bash
|
||||
# 构建生产版本
|
||||
npm run build
|
||||
|
||||
# 预览构建结果
|
||||
npm run preview
|
||||
```
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
├── public/ # 静态资源
|
||||
│ ├── assets/ # 图片、视频等资源
|
||||
│ └── favicon.png # 网站图标
|
||||
├── src/
|
||||
│ ├── assets/ # 源代码资源
|
||||
│ ├── collections/ # 数据集合(作品、经历等)
|
||||
│ ├── components/ # Astro 组件
|
||||
│ │ ├── cards/ # 卡片组件
|
||||
│ │ ├── sections/ # 页面区块组件
|
||||
│ │ ├── ui/ # UI 组件
|
||||
│ │ └── widgets/ # 小部件
|
||||
│ ├── config/ # 配置文件
|
||||
│ ├── content/ # MDX 博客内容
|
||||
│ ├── layouts/ # 布局组件
|
||||
│ ├── pages/ # 页面路由
|
||||
│ ├── scripts/ # 脚本文件
|
||||
│ └── styles/ # 样式文件
|
||||
├── astro.config.mjs # Astro 配置
|
||||
├── tailwind.config.mjs # Tailwind 配置
|
||||
└── package.json # 项目依赖
|
||||
```
|
||||
|
||||
## 🎨 自定义配置
|
||||
|
||||
### 修改网站信息
|
||||
|
||||
编辑 `src/config/site.js` 文件,修改网站的基本信息:
|
||||
|
||||
```javascript
|
||||
export const siteConfig = {
|
||||
title: "Your Portfolio",
|
||||
author: "Your Name",
|
||||
url: "https://your-domain.com",
|
||||
// ... 更多配置
|
||||
};
|
||||
```
|
||||
|
||||
### 修改主题颜色
|
||||
|
||||
编辑 `src/styles/global.css` 文件中的 CSS 变量:
|
||||
|
||||
```css
|
||||
@theme {
|
||||
--color-primary: #2d6dc3;
|
||||
--color-primary-dark: #3b7bd9;
|
||||
/* ... 更多颜色变量 */
|
||||
}
|
||||
```
|
||||
|
||||
### 添加作品
|
||||
|
||||
在 `src/collections/works.json` 中添加你的作品信息。
|
||||
|
||||
### 添加博客文章
|
||||
|
||||
在 `src/content/post/` 目录下创建新的 MDX 文件。
|
||||
|
||||
|
||||
|
||||
## 📧 联系方式
|
||||
|
||||
- **作者**: Ricoui
|
||||
- **博客**: [ricoui.com](https://github.com/ricocc)
|
||||
- **邮箱**: hello@ricoui.com
|
||||
- **Twitter**: [@ricouii](https://x.com/ricouii)
|
||||
- **GitHub**: [@ricocc](https://github.com/ricocc)
|
||||
|
||||
|
||||
## 💡 其他产品
|
||||
|
||||
- **Rico Blog** - 开源 : [https://github.com/ricocc/public-portfolio-site](https://github.com/ricocc/public-portfolio-site)
|
||||
|
||||
- **OG Gallery**: [ricoog.com](https://ricoog.com/)
|
||||
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
- [Astro](https://astro.build) - 优秀的静态站点生成器
|
||||
- [Tailwind CSS](https://tailwindcss.com) - 实用优先的 CSS 框架
|
||||
- 所有为这个项目做出贡献的开发者
|
||||
|
||||
## 📝 更新日志d
|
||||
|
||||
查看 [CHANGELOG.md](CHANGELOG.md) 了解版本更新历史。
|
||||
|
||||
|
||||
## 关于作者
|
||||
|
||||
我是Rico,网页/UI设计师,热衷于做些有趣和创意的作品。拥有 UI/UX 设计工作经验,目前专注于网页设计和视觉落地,以及开发项目探索。我平时在博客<a href="https://ricoui.com/" target="_blank">Rico's Blog</a>更新内容。也可以关注我的小红书 [@Rico的设计漫想](https://www.xiaohongshu.com/user/profile/5f2b6903000000000101f51f) 和 推特 [@ricouii](https://x.com/ricouii).
|
||||
|
||||
或者添加我的微信,交个朋友
|
||||
|
||||
<img src="public/wechat-rico.jpg" alt="ricocc-wechat" width="280" height="auto" style="display:inline-block;margin:12px;">
|
||||
|
||||
|
||||
## 💜 支持作者
|
||||
|
||||
|
||||
如果觉得有所帮助的话,一点点支持就可以大大激励创作者的热情,感谢!
|
||||
|
||||
<img src="public/zanshangma.jpg" alt="ricocc-wechat" width="280" height="auto" style="display:inline-block;margin:12px;">
|
||||
|
||||
|
||||
---
|
||||
|
||||
⭐ 如果这个项目对你有帮助,请给一个 Star!
|
||||
193
README.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# Rico Portfolio - Designer Portfolio Website
|
||||
|
||||
> [中文文档](README-zh.md) | English
|
||||
|
||||
A modern, high-performance designer portfolio website template built with Astro. Features a retro blue theme, dark mode support, beautiful animations, and excellent user experience.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## ✨ Features
|
||||
|
||||
- 🚀 **Built with Astro** - Fast and lightweight static site generator
|
||||
- 🎨 **Modern Design** - Retro blue theme with dark/light mode toggle
|
||||
- 📱 **Fully Responsive** - Adapts to all device sizes
|
||||
- 🎭 **Beautiful Animations** - Using AOS and custom animation effects
|
||||
- 📝 **Blog System** - Supports MDX format blog posts
|
||||
- 🎯 **Portfolio Showcase** - Elegant portfolio showcase pages
|
||||
- 🔍 **SEO Optimized** - Built-in SEO and social media tags
|
||||
- ⚡ **Performance Optimized** - Image optimization, code splitting, lazy loading
|
||||
- 🌐 **i18n Support** - Easy to extend for multi-language support
|
||||
|
||||
## 🛠️ Tech Stack
|
||||
|
||||
- **Framework**: [Astro](https://astro.build) 5.14.1
|
||||
- **Styling**: [Tailwind CSS](https://tailwindcss.com) 4.1.14
|
||||
- **Animations**: [AOS](https://michalsnik.github.io/aos/)
|
||||
- **Physics Engine**: [Matter.js](https://brm.io/matter-js/)
|
||||
- **Content Management**: MDX
|
||||
- **Type Checking**: TypeScript
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
### Using Package Manager
|
||||
|
||||
```bash
|
||||
# Using npm
|
||||
npm install
|
||||
|
||||
# Using pnpm (recommended)
|
||||
pnpm install
|
||||
|
||||
# Using yarn
|
||||
yarn install
|
||||
```
|
||||
|
||||
### Environment Variables Configuration
|
||||
|
||||
Copy `.env.example` to `.env` and fill in the corresponding configuration:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
Edit the `.env` file and fill in your configuration:
|
||||
|
||||
```env
|
||||
# Site URL (optional, but has default value https://your-domain.com)
|
||||
# You can skip this on first deployment, but it's recommended to set the correct domain as soon as possible to optimize SEO
|
||||
PUBLIC_SITE_URL=https://your-domain.com
|
||||
|
||||
# Analytics (optional)
|
||||
PUBLIC_GA4_ID=your-google-analytics-id
|
||||
PUBLIC_UMAMI_ID=your-umami-id
|
||||
```
|
||||
|
||||
> **Note**: If `PUBLIC_SITE_URL` is not set, it will use the default value `https://your-domain.com`. While it won't cause errors, it's recommended to set the correct domain after deployment to ensure sitemap, RSS feed, and SEO meta tags work properly.
|
||||
|
||||
## 🚀 Development
|
||||
|
||||
```bash
|
||||
# Start development server
|
||||
npm run dev
|
||||
# or
|
||||
pnpm dev
|
||||
|
||||
# Visit http://localhost:4321
|
||||
```
|
||||
|
||||
## 📦 Build
|
||||
|
||||
```bash
|
||||
# Build for production
|
||||
npm run build
|
||||
|
||||
# Preview build result
|
||||
npm run preview
|
||||
```
|
||||
|
||||
## 📁 Project Structure
|
||||
|
||||
```
|
||||
├── public/ # Static assets
|
||||
│ ├── assets/ # Images, videos, etc.
|
||||
│ └── favicon.png # Site favicon
|
||||
├── src/
|
||||
│ ├── assets/ # Source assets
|
||||
│ ├── collections/ # Data collections (works, experiences, etc.)
|
||||
│ ├── components/ # Astro components
|
||||
│ │ ├── cards/ # Card components
|
||||
│ │ ├── sections/ # Section components
|
||||
│ │ ├── ui/ # UI components
|
||||
│ │ └── widgets/ # Widgets
|
||||
│ ├── config/ # Configuration files
|
||||
│ ├── content/ # MDX blog content
|
||||
│ ├── layouts/ # Layout components
|
||||
│ ├── pages/ # Page routes
|
||||
│ ├── scripts/ # Script files
|
||||
│ └── styles/ # Style files
|
||||
├── astro.config.mjs # Astro configuration
|
||||
├── tailwind.config.mjs # Tailwind configuration
|
||||
└── package.json # Project dependencies
|
||||
```
|
||||
|
||||
## 🎨 Customization
|
||||
|
||||
### Modify Site Information
|
||||
|
||||
Edit the `src/config/site.js` file to modify the site's basic information:
|
||||
|
||||
```javascript
|
||||
export const siteConfig = {
|
||||
title: "Your Portfolio",
|
||||
author: "Your Name",
|
||||
url: "https://your-domain.com",
|
||||
// ... more configuration
|
||||
};
|
||||
```
|
||||
|
||||
### Modify Theme Colors
|
||||
|
||||
Edit the CSS variables in the `src/styles/global.css` file:
|
||||
|
||||
```css
|
||||
@theme {
|
||||
--color-primary: #2d6dc3;
|
||||
--color-primary-dark: #3b7bd9;
|
||||
/* ... more color variables */
|
||||
}
|
||||
```
|
||||
|
||||
### Add Works
|
||||
|
||||
Add your work information in `src/collections/works.json`.
|
||||
|
||||
### Add Blog Posts
|
||||
|
||||
Create new MDX files in the `src/content/post/` directory.
|
||||
|
||||
|
||||
|
||||
## 📧 Contact
|
||||
|
||||
- **Author**: Ricoui
|
||||
- **Blog**: [ricoui.com](https://github.com/ricocc)
|
||||
- **Email**: hello@ricoui.com
|
||||
- **Twitter**: [@ricouii](https://x.com/ricouii)
|
||||
- **GitHub**: [@ricocc](https://github.com/ricocc)
|
||||
|
||||
|
||||
## 💡 Other Products
|
||||
|
||||
- **Rico Blog** - Open Source: [https://github.com/ricocc/public-portfolio-site](https://github.com/ricocc/public-portfolio-site)
|
||||
|
||||
- **OG Gallery**: [ricoog.com](https://ricoog.com/)
|
||||
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
|
||||
- [Astro](https://astro.build) - Excellent static site generator
|
||||
- [Tailwind CSS](https://tailwindcss.com) - Utility-first CSS framework
|
||||
- All developers who contributed to this project
|
||||
|
||||
|
||||
## About the Author
|
||||
|
||||
I'm Rico, a web/UI designer passionate about creating fun and creative work. I have experience in UI/UX design and am currently focused on web design, visual implementation, and exploring development projects. I regularly update my blog on <a href="https://ricoui.com/" target="_blank">Rico's Blog</a>. You can also follow me on Xiaohongshu [@Rico的设计漫想](https://www.xiaohongshu.com/user/profile/5f2b6903000000000101f51f) 和 X [@ricouii](https://x.com/ricouii).
|
||||
|
||||
|
||||
Or add me on WeChat—let’s be friends.
|
||||
|
||||
<img src="public/wechat-rico.jpg" alt="ricocc-wechat" width="280" height="auto" style="display:inline-block;margin:12px;">
|
||||
|
||||
|
||||
## 💜 Support the Author
|
||||
|
||||
If you’ve found this helpful, even a small contribution can greatly encourage creators. Thank you!
|
||||
|
||||
<img src="public/zanshangma.jpg" alt="ricocc-wechat" width="280" height="auto" style="display:inline-block;margin:12px;">
|
||||
|
||||
<a href="https://ko-fi.com/T6T817U4KZ" target="_blank" style="display:inline-block;margin:.5rem auto 1rem;" data-astro-cid-wlrjxfd7=""><img height="44" style=" border:0px;height:44px;" src="https://storage.ko-fi.com/cdn/kofi2.png?v=6" alt="Buy Me a Coffee at ko-fi.com" data-astro-cid-wlrjxfd7=""></a>
|
||||
|
||||
⭐ If this project helps you, please give it a Star!
|
||||
37
astro.config.mjs
Normal file
@@ -0,0 +1,37 @@
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
import { defineConfig } from "astro/config";
|
||||
import mdx from "@astrojs/mdx";
|
||||
import sitemap from "@astrojs/sitemap";
|
||||
import { fileURLToPath } from "url";
|
||||
import path from "path";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
// 从环境变量获取站点 URL,如果没有设置则使用默认值
|
||||
// 注意:首次部署后请务必在 .env 文件中设置正确的 PUBLIC_SITE_URL
|
||||
const siteUrl = process.env.PUBLIC_SITE_URL || 'https://portfolio.ricoui.com/';
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
site: siteUrl,
|
||||
base: '/',
|
||||
envPrefix: 'PUBLIC_',
|
||||
vite: {
|
||||
plugins: [tailwindcss()],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': path.resolve(__dirname, './src')
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
legacy: {
|
||||
collections: true,
|
||||
},
|
||||
|
||||
server: {
|
||||
port: 5200,
|
||||
},
|
||||
|
||||
integrations: [mdx(), sitemap()],
|
||||
});
|
||||
61
package.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "astro-rico-portfolio",
|
||||
"type": "module",
|
||||
"version": "1.0.0",
|
||||
"description": "A modern, high-performance portfolio website template for designers built with Astro. Features retro blue theme, dark mode, and beautiful animations.",
|
||||
"keywords": [
|
||||
"astro",
|
||||
"portfolio",
|
||||
"designer",
|
||||
"website",
|
||||
"template",
|
||||
"tailwindcss",
|
||||
"blog",
|
||||
"dark-mode",
|
||||
"responsive"
|
||||
],
|
||||
"author": {
|
||||
"name": "Ricoui",
|
||||
"email": "hello@ricoui.com",
|
||||
"url": "https://ricoui.com"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ricocc/ricoui-portfolio.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ricocc/ricoui-portfolio/issues"
|
||||
},
|
||||
"homepage": "https://github.com/ricocc/ricoui-portfolio#readme",
|
||||
"license": "Apache-2.0",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "astro dev",
|
||||
"build": "astro check && astro build",
|
||||
"preview": "astro preview",
|
||||
"astro": "astro",
|
||||
"check": "biome check --apply-unsafe ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@astrojs/check": "^0.9.4",
|
||||
"@biomejs/biome": "1.7.3",
|
||||
"@tailwindcss/typography": "^0.5.13",
|
||||
"@types/matter-js": "^0.20.2",
|
||||
"astro": "^5.14.1",
|
||||
"postcss": "^8.4.31",
|
||||
"tailwindcss": "^4.1.14",
|
||||
"typescript": "^5.4.5",
|
||||
"vite": "^5.2.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/mdx": "^4.3.7",
|
||||
"@astrojs/rss": "^4.0.13",
|
||||
"@astrojs/sitemap": "^3.6.0",
|
||||
"@lucide/astro": "^0.546.0",
|
||||
"@tailwindcss/vite": "^4.1.14",
|
||||
"aos": "^2.3.4",
|
||||
"matter-js": "^0.20.0",
|
||||
"motion": "^12.23.24",
|
||||
"sharp": "^0.34.4"
|
||||
}
|
||||
}
|
||||
5365
pnpm-lock.yaml
generated
Normal file
BIN
public/assets/about/wx.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
public/assets/avatar.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
public/assets/blog/cover-brutalism.jpg
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
public/assets/blog/cover-dreamcore.jpg
Normal file
|
After Width: | Height: | Size: 249 KiB |
BIN
public/assets/blog/cover-free-icon-library.jpg
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
public/assets/blog/cover-neobrutalism.jpg
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
public/assets/blog/cover-portfolio-site.jpg
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
public/assets/blog/cover-retro.jpg
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
public/assets/blog/cover-retrofuturism.jpg
Normal file
|
After Width: | Height: | Size: 214 KiB |
BIN
public/assets/blog/cover-spacepunk.jpg
Normal file
|
After Width: | Height: | Size: 128 KiB |
BIN
public/assets/experiences/company.jpg
Normal file
|
After Width: | Height: | Size: 188 KiB |
24
public/assets/home/color-picker.svg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/assets/home/gradientshub.jpg
Normal file
|
After Width: | Height: | Size: 149 KiB |
BIN
public/assets/logo.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
public/assets/social/social-behance.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
public/assets/social/social-dribbble.jpg
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
public/assets/social/social-email.jpg
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/assets/social/social-figma.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
public/assets/social/social-github.jpg
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
public/assets/social/social-gumroad.jpg
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
public/assets/social/social-twitter.jpg
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
public/assets/social/social-xiaohongshu.jpg
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
public/assets/stack/astro.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
public/assets/stack/bootstrap.png
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
public/assets/stack/cloudflare.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
public/assets/stack/css.png
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
public/assets/stack/github.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
public/assets/stack/html.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
public/assets/stack/js.png
Normal file
|
After Width: | Height: | Size: 111 KiB |
BIN
public/assets/stack/netlify.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
public/assets/stack/nextjs.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/assets/stack/nodejs.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
public/assets/stack/npm.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
public/assets/stack/nuxtjs.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/assets/stack/tailwind.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
public/assets/stack/vercel.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
public/assets/stack/vscode.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
public/assets/tools/deck.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
BIN
public/assets/tools/dreamcore.jpg
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
public/assets/tools/dreamcore.mp4
Normal file
BIN
public/assets/tools/game/01-game-cassette.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
public/assets/tools/game/02-game-cassette.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
public/assets/tools/game/03-game-cassette.png
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
public/assets/tools/game/04-game-cassette.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
public/assets/tools/game/05-game-cassette.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
public/assets/tools/keyboard.png
Normal file
|
After Width: | Height: | Size: 189 KiB |
BIN
public/assets/tools/logo/ricoui.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
15
public/assets/tools/logo/tool-gradienthub.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M187 99C187 118.49 180.674 137.452 168.972 153.038C157.27 168.623 140.825 179.989 122.109 185.426C103.394 190.864 83.4186 190.079 65.1873 183.19C46.956 176.301 31.4535 163.68 21.0106 147.224C10.5676 130.769 5.74839 111.368 7.27752 91.9387C8.80665 72.5093 16.6015 54.1013 29.4901 39.482C42.3787 24.8627 59.6647 14.8222 78.7492 10.87C97.8338 6.9178 117.686 9.26742 135.32 17.5656L112.328 66.4263C105.274 63.107 97.3335 62.1671 89.6997 63.748C82.0659 65.3289 75.1515 69.3451 69.9961 75.1928C64.8406 81.0405 61.7227 88.4037 61.111 96.1755C60.4994 103.947 62.4271 111.708 66.6042 118.29C70.7814 124.872 76.9824 129.92 84.275 132.676C91.5675 135.432 99.5575 135.746 107.044 133.571C114.53 131.396 121.108 126.849 125.789 120.615C130.469 114.381 133 106.796 133 99H187Z" fill="url(#paint0_angular_2076_3571)"/>
|
||||
<circle cx="159" cy="155" r="34" fill="url(#paint1_linear_2076_3571)"/>
|
||||
<defs>
|
||||
<radialGradient id="paint0_angular_2076_3571" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(97 99) rotate(0.372019) scale(78.8897 78.8802)">
|
||||
<stop stop-color="white" stop-opacity="0"/>
|
||||
<stop offset="0.4" stop-color="white"/>
|
||||
<stop offset="0.904" stop-color="white"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint1_linear_2076_3571" x1="181.344" y1="182.972" x2="136.438" y2="120.896" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#B6F100"/>
|
||||
<stop offset="1" stop-color="#FFFA33"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/assets/tools/logo/tool-inspoweb.png
Normal file
|
After Width: | Height: | Size: 125 KiB |
3
public/assets/tools/logo/tool-ricoog.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M3.03699 18.3645C2.76121 18.3645 2.47011 18.3186 2.16369 18.2266C1.85727 18.1347 1.59681 17.9662 1.38232 17.721C1.15251 17.4912 1.0376 17.1772 1.0376 16.7788C1.0376 16.5643 1.1142 16.3345 1.26741 16.0894C1.4053 15.8289 1.58915 15.691 1.81897 15.6757C1.75768 15.737 1.71172 15.8366 1.68108 15.9745C1.66576 16.1123 1.6581 16.2349 1.6581 16.3422C1.67342 16.6026 1.78833 16.8248 2.00282 17.0086C2.21731 17.1925 2.55438 17.2844 3.01401 17.2844C3.5962 17.2844 4.20138 17.1159 4.82954 16.7788C5.47302 16.4264 6.11651 15.9668 6.75999 15.3999C7.41879 14.8177 8.05461 14.1742 8.66745 13.4695C9.29561 12.7647 9.87015 12.0523 10.3911 11.3322C10.8813 10.6428 11.4559 9.8767 12.1147 9.03405C12.7735 8.19139 13.4859 7.37172 14.252 6.57503C15.018 5.77834 15.7994 5.11953 16.5961 4.59862C16.2284 4.38413 15.7764 4.2156 15.2402 4.09303C14.7039 3.95514 14.0681 3.88619 13.3327 3.88619C12.2602 3.88619 11.2567 4.0394 10.3221 4.34582C9.38754 4.65224 8.53722 5.05825 7.77117 5.56384C7.00512 6.06944 6.33866 6.62865 5.77178 7.24149C5.22023 7.83901 4.79124 8.45185 4.48482 9.08001C4.19372 9.69285 4.04817 10.2597 4.04817 10.7806C4.04817 11.2862 4.20138 11.7152 4.5078 12.0676C4.82954 12.4047 5.3428 12.6038 6.04756 12.6651C6.13949 12.6651 6.18545 12.6881 6.18545 12.7341C6.18545 12.7953 6.11651 12.8183 5.97862 12.803C5.05936 12.7264 4.37757 12.4659 3.93326 12.0216C3.50428 11.562 3.28978 11.0028 3.28978 10.344C3.28978 9.65455 3.51194 8.9268 3.95625 8.16075C4.41588 7.37938 5.07468 6.64397 5.93265 5.95453C6.79063 5.24976 7.83246 4.68289 9.05814 4.2539C10.2991 3.80959 11.6933 3.58744 13.2408 3.58744C14.0834 3.58744 14.8188 3.65638 15.447 3.79427C16.0751 3.93216 16.6114 4.10835 17.0557 4.32284C17.8983 3.81725 18.718 3.56445 19.5147 3.56445C19.9131 3.56445 20.2961 3.6717 20.6638 3.88619C21.0468 4.08537 21.2383 4.46839 21.2383 5.03527C21.1464 4.79013 20.9166 4.56032 20.5489 4.34582C20.1965 4.11601 19.7828 4.0011 19.3079 4.0011C18.9861 4.0011 18.6644 4.04707 18.3427 4.13899C18.0209 4.23092 17.7068 4.36115 17.4004 4.52968C17.9366 4.86674 18.3273 5.25742 18.5725 5.70173C18.8176 6.14604 18.9402 6.60567 18.9402 7.08062C18.9402 7.70878 18.7257 8.32162 18.2967 8.91914C17.8677 9.51666 17.3008 10.0069 16.5961 10.39C15.8913 10.7577 15.1176 10.9415 14.2749 10.9415C14.2903 11.0028 14.2979 11.0641 14.2979 11.1254C14.2979 11.1866 14.2979 11.2556 14.2979 11.3322C14.2979 11.7765 14.229 12.3434 14.0911 13.0328C14.0604 13.232 14.0068 13.5461 13.9302 13.9751C13.8689 14.4041 13.8383 14.8407 13.8383 15.285C13.8383 15.8059 13.9072 16.2656 14.0451 16.6639C14.1983 17.0622 14.4818 17.2614 14.8954 17.2614C15.2785 17.2614 15.6691 17.1235 16.0675 16.8478C16.4658 16.5567 16.8335 16.2273 17.1706 15.8595C17.523 15.4918 17.7988 15.1931 17.9979 14.9633C18.0592 14.9633 18.0899 15.0092 18.0899 15.1012C18.0899 15.239 18.0592 15.3463 17.9979 15.4229C17.2932 16.2502 16.642 16.8631 16.0445 17.2614C15.447 17.6444 14.7882 17.836 14.0681 17.836C13.7157 17.836 13.394 17.721 13.1029 17.4912C12.8118 17.2461 12.6662 16.7788 12.6662 16.0894C12.6662 15.7063 12.7352 15.285 12.8731 14.8254C13.011 14.3504 13.1642 13.8755 13.3327 13.4005C13.5165 12.9256 13.6774 12.4966 13.8153 12.1136C13.9532 11.7152 14.0221 11.4088 14.0221 11.1943C14.0221 11.0717 14.0068 10.9951 13.9762 10.9645C13.777 10.9338 13.6238 10.8726 13.5165 10.7806C13.4246 10.6734 13.3787 10.5738 13.3787 10.4819C13.3787 10.3593 13.4553 10.298 13.6085 10.298C13.9455 10.298 14.16 10.4666 14.252 10.8036C14.7116 10.7577 15.1635 10.6044 15.6079 10.344C16.0522 10.0682 16.4429 9.73881 16.7799 9.35579C17.1323 8.95744 17.4081 8.53611 17.6073 8.09181C17.8217 7.6475 17.929 7.21851 17.929 6.80484C17.929 6.43714 17.8447 6.08476 17.6762 5.74769C17.5077 5.39531 17.2472 5.08123 16.8948 4.80545C16.2973 5.18848 15.7074 5.67875 15.1252 6.27627C14.5584 6.85847 14.0068 7.48663 13.4706 8.16075C12.9497 8.81955 12.4594 9.47069 11.9998 10.1142C11.5401 10.7577 11.1265 11.3399 10.7588 11.8608C10.2225 12.5962 9.67098 13.3469 9.1041 14.113C8.53722 14.879 7.9397 15.5838 7.31154 16.2273C6.68338 16.8707 6.01692 17.384 5.31215 17.767C4.60739 18.1654 3.849 18.3645 3.03699 18.3645Z" fill="#FBFBFB"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
BIN
public/assets/tools/logo/tool-todo.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
12
public/assets/tools/logo/tool-uiuxdeck.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_630_12590)">
|
||||
<path d="M13.75 0.390625H6.25C3.01396 0.390625 0.390625 3.01396 0.390625 6.25V13.75C0.390625 16.986 3.01396 19.6094 6.25 19.6094H13.75C16.986 19.6094 19.6094 16.986 19.6094 13.75V6.25C19.6094 3.01396 16.986 0.390625 13.75 0.390625Z" stroke="white" stroke-width="1.33333"/>
|
||||
<path d="M6.27637 11.123V13.8545C6.27638 13.9892 6.29922 14.1102 6.34375 14.2178C6.38876 14.3265 6.45048 14.4192 6.52832 14.4971H6.52734C6.60753 14.5754 6.7002 14.6358 6.80469 14.6787H6.80371C6.91023 14.7199 7.0239 14.7402 7.14453 14.7402C7.26906 14.7402 7.38336 14.7185 7.4873 14.6758C7.59382 14.6328 7.68574 14.5721 7.76367 14.4941C7.84141 14.4164 7.90229 14.3233 7.94531 14.2148L7.97461 14.1318C7.99985 14.0464 8.01269 13.954 8.0127 13.8545V11.123H8.94629V13.8604C8.94629 14.212 8.87047 14.5211 8.71777 14.7852C8.56563 15.0483 8.35399 15.2536 8.08301 15.3994H8.08203C7.81064 15.5433 7.49761 15.6143 7.14453 15.6143C6.79146 15.6143 6.47841 15.5433 6.20703 15.3994H6.20605C5.93506 15.2536 5.72348 15.0483 5.57129 14.7852C5.41864 14.5211 5.34277 14.212 5.34277 13.8604V11.1299L5.39844 11.1289L6.2207 11.123H6.27637ZM6.27637 4.7168V7.44824C6.27637 7.58292 6.29921 7.70392 6.34375 7.81152C6.38876 7.92022 6.45048 8.01292 6.52832 8.09082H6.52734C6.60753 8.16914 6.7002 8.22954 6.80469 8.27246H6.80371C6.91023 8.31362 7.0239 8.33398 7.14453 8.33398C7.26906 8.33398 7.38336 8.31224 7.4873 8.26953C7.59382 8.22652 7.68574 8.16583 7.76367 8.08789C7.84141 8.01011 7.90229 7.91708 7.94531 7.80859L7.97461 7.72559C7.99985 7.64015 8.01269 7.5478 8.0127 7.44824V4.7168H8.94629V7.4541C8.94629 7.80584 8.87047 8.11482 8.71777 8.37891C8.56563 8.64202 8.35399 8.84738 8.08301 8.99316H8.08203C7.81064 9.13702 7.49761 9.208 7.14453 9.20801C6.79146 9.20801 6.47841 9.13702 6.20703 8.99316H6.20605C5.93506 8.84738 5.72348 8.64201 5.57129 8.37891C5.41864 8.11482 5.34277 7.80584 5.34277 7.4541V4.72363L5.39844 4.72266L6.2207 4.7168H6.27637Z" fill="white" stroke="white" stroke-width="0.111111"/>
|
||||
<path d="M12.1514 11.123L12.168 11.1484L13.0312 12.5049L13.8857 11.1494L13.9023 11.123H15.0371L14.9805 11.209L13.5996 13.2998L15.0156 15.4385L15.0732 15.5254H13.9434L13.9277 15.499L13.0312 14.0947L12.1318 15.499L12.1152 15.5254H10.9805L11.0381 15.4385L12.459 13.2998L11.0791 11.209L11.0225 11.123H12.1514ZM13.4873 4.7168V9.11914H12.5654V4.7168H13.4873Z" fill="white" stroke="white" stroke-width="0.111111"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_630_12590">
|
||||
<rect width="20" height="20" rx="6" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/assets/tools/mac.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
public/assets/tools/mini-btn.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
public/assets/tools/retro-computer.png
Normal file
|
After Width: | Height: | Size: 178 KiB |
377
public/assets/tools/retro-computer.svg
Normal file
@@ -0,0 +1,377 @@
|
||||
<svg width="148" height="148" viewBox="0 0 148 148" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_634_12788)">
|
||||
<g filter="url(#filter0_iiiiii_634_12788)">
|
||||
<rect x="-1.56689" y="-1.67627" width="151.133" height="151.133" rx="21.9886" fill="#CBC5BA"/>
|
||||
<rect x="-1.56689" y="-1.67627" width="151.133" height="151.133" rx="21.9886" fill="url(#paint0_linear_634_12788)" style="mix-blend-mode:overlay"/>
|
||||
</g>
|
||||
<g filter="url(#filter1_diiiiii_634_12788)">
|
||||
<path d="M0 34.9618C0 22.8545 0 16.8008 2.31881 12.1602C4.44716 7.90067 7.90067 4.44716 12.1602 2.31881C16.8008 0 22.8545 0 34.9618 0H113.038C125.146 0 131.199 0 135.84 2.31881C140.099 4.44716 143.553 7.90067 145.681 12.1602C148 16.8008 148 22.8545 148 34.9618V111.178C148 115.834 148 118.163 147.108 119.947C146.29 121.586 144.961 122.914 143.323 123.733C141.538 124.624 139.21 124.624 134.553 124.624H13.4469C8.79019 124.624 6.46186 124.624 4.67698 123.733C3.03872 122.914 1.71044 121.586 0.891851 119.947C0 118.163 0 115.834 0 111.178V34.9618Z" fill="#CCC5B9"/>
|
||||
<path d="M0 34.9618C0 22.8545 0 16.8008 2.31881 12.1602C4.44716 7.90067 7.90067 4.44716 12.1602 2.31881C16.8008 0 22.8545 0 34.9618 0H113.038C125.146 0 131.199 0 135.84 2.31881C140.099 4.44716 143.553 7.90067 145.681 12.1602C148 16.8008 148 22.8545 148 34.9618V111.178C148 115.834 148 118.163 147.108 119.947C146.29 121.586 144.961 122.914 143.323 123.733C141.538 124.624 139.21 124.624 134.553 124.624H13.4469C8.79019 124.624 6.46186 124.624 4.67698 123.733C3.03872 122.914 1.71044 121.586 0.891851 119.947C0 118.163 0 115.834 0 111.178V34.9618Z" fill="url(#paint1_linear_634_12788)" style="mix-blend-mode:overlay"/>
|
||||
</g>
|
||||
<g filter="url(#filter2_iiiiiii_634_12788)">
|
||||
<path d="M11.5098 29.8622C11.5098 22.8772 11.5098 19.3847 12.8475 16.7074C14.0754 14.25 16.0678 12.2576 18.5252 11.0297C21.2025 9.69189 24.695 9.69189 31.6801 9.69189H116.32C123.305 9.69189 126.797 9.69189 129.475 11.0297C131.932 12.2576 133.924 14.25 135.152 16.7074C136.49 19.3847 136.49 22.8772 136.49 29.8622V110.898C136.49 112.295 136.49 112.994 136.223 113.529C135.977 114.021 135.578 114.419 135.087 114.665C134.552 114.932 133.853 114.932 132.456 114.932H15.5438C14.1468 114.932 13.4483 114.932 12.9129 114.665C12.4214 114.419 12.0229 114.021 11.7773 113.529C11.5098 112.994 11.5098 112.295 11.5098 110.898V29.8622Z" fill="#CCC5B9"/>
|
||||
<path d="M11.5098 29.8622C11.5098 22.8772 11.5098 19.3847 12.8475 16.7074C14.0754 14.25 16.0678 12.2576 18.5252 11.0297C21.2025 9.69189 24.695 9.69189 31.6801 9.69189H116.32C123.305 9.69189 126.797 9.69189 129.475 11.0297C131.932 12.2576 133.924 14.25 135.152 16.7074C136.49 19.3847 136.49 22.8772 136.49 29.8622V110.898C136.49 112.295 136.49 112.994 136.223 113.529C135.977 114.021 135.578 114.419 135.087 114.665C134.552 114.932 133.853 114.932 132.456 114.932H15.5438C14.1468 114.932 13.4483 114.932 12.9129 114.665C12.4214 114.419 12.0229 114.021 11.7773 113.529C11.5098 112.994 11.5098 112.295 11.5098 110.898V29.8622Z" fill="url(#paint2_linear_634_12788)" style="mix-blend-mode:overlay"/>
|
||||
</g>
|
||||
<g filter="url(#filter3_i_634_12788)">
|
||||
<path d="M16.9277 28.5075C16.9277 23.7711 16.9277 21.4028 17.8495 19.5938C18.6603 18.0024 19.9541 16.7087 21.5454 15.8978C23.3545 14.9761 25.7227 14.9761 30.4592 14.9761H117.54C122.276 14.9761 124.645 14.9761 126.454 15.8978C128.045 16.7087 129.339 18.0024 130.15 19.5938C131.071 21.4028 131.071 23.7711 131.071 28.5075V105.588C131.071 107.009 131.071 107.719 130.795 108.262C130.552 108.74 130.164 109.128 129.686 109.371C129.143 109.648 128.433 109.648 127.012 109.648H20.9872C19.5662 109.648 18.8558 109.648 18.313 109.371C17.8356 109.128 17.4475 108.74 17.2043 108.262C16.9277 107.719 16.9277 107.009 16.9277 105.588V28.5075Z" fill="url(#paint3_linear_634_12788)"/>
|
||||
</g>
|
||||
<g filter="url(#filter4_i_634_12788)">
|
||||
<rect x="14.0747" y="127.714" width="10.1486" height="10.1486" rx="1.69143" fill="url(#paint4_linear_634_12788)"/>
|
||||
</g>
|
||||
<rect x="14.2016" y="127.841" width="9.89486" height="9.89486" rx="1.56457" stroke="url(#paint5_linear_634_12788)" stroke-opacity="0.75" stroke-width="0.253714"/>
|
||||
<mask id="mask0_634_12788" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="105" y="131" width="26" height="7">
|
||||
<path d="M130.738 137.286C130.738 137.38 130.663 137.456 130.569 137.456H119.313C119.219 137.456 119.144 137.38 119.144 137.286V136.772C119.144 136.679 119.068 136.603 118.974 136.603H106.158C106.065 136.603 105.989 136.527 105.989 136.434V133.072C105.989 132.979 106.065 132.903 106.158 132.903H118.974C119.068 132.903 119.144 132.827 119.144 132.734V131.975C119.144 131.882 119.219 131.806 119.313 131.806H130.569C130.663 131.806 130.738 131.882 130.738 131.975V137.286Z" fill="#D9D9D9"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_634_12788)">
|
||||
<g filter="url(#filter5_f_634_12788)">
|
||||
<path d="M119.143 131.806H130.738L130.116 133.331H119.78L119.143 131.806Z" fill="#918C84" fill-opacity="0.75"/>
|
||||
</g>
|
||||
<g filter="url(#filter6_f_634_12788)">
|
||||
<path d="M130.738 137.685H119.143L119.765 136.22H129.759L130.738 137.685Z" fill="#E9E7DE"/>
|
||||
</g>
|
||||
<g filter="url(#filter7_f_634_12788)">
|
||||
<path d="M131.021 132.569L131.021 137.456L129.133 136.59L129.133 133.735L131.021 132.569Z" fill="#E9E7DE"/>
|
||||
</g>
|
||||
<g filter="url(#filter8_f_634_12788)">
|
||||
<path d="M119.204 133.051H106.012L106.719 134.204H118.48L119.204 133.051Z" fill="#918C84" fill-opacity="0.5"/>
|
||||
</g>
|
||||
<g filter="url(#filter9_f_634_12788)">
|
||||
<path d="M106.012 136.922H122.097L121.235 135.813H107.369L106.012 136.922Z" fill="#E9E7DE"/>
|
||||
</g>
|
||||
<g filter="url(#filter10_f_634_12788)">
|
||||
<path d="M105.729 133.051L105.729 136.749L107.617 136.093L107.617 133.933L105.729 133.051Z" fill="#E9E7DE"/>
|
||||
</g>
|
||||
<g filter="url(#filter11_f_634_12788)">
|
||||
<path d="M118.889 136.812L119.348 137.575L120.495 136.284L120.347 136.136L118.889 136.812Z" fill="#918C84" fill-opacity="0.5"/>
|
||||
</g>
|
||||
<g filter="url(#filter12_f_634_12788)">
|
||||
<path d="M130.659 135.174L130.741 137.617L129.061 136.365L129.151 135.618L130.659 135.174Z" fill="url(#paint6_linear_634_12788)" fill-opacity="0.5"/>
|
||||
</g>
|
||||
<path d="M107.618 134.161C107.618 134.068 107.693 133.992 107.787 133.992H129.133V135.74H120.377V135.707C120.377 135.614 120.301 135.538 120.208 135.538H112.981H107.787C107.693 135.538 107.618 135.463 107.618 135.369V134.161Z" fill="#161616"/>
|
||||
<mask id="path-18-inside-1_634_12788" fill="white">
|
||||
<path d="M128.963 133.051C129.057 133.051 129.132 133.127 129.132 133.22V136.048C129.132 136.141 129.057 136.217 128.963 136.217H120.537C120.443 136.217 120.368 136.141 120.368 136.048V135.686C120.368 135.592 120.292 135.517 120.199 135.517H107.787C107.693 135.517 107.618 135.44 107.618 135.347V134.161C107.618 134.068 107.693 133.992 107.787 133.992H120.199C120.292 133.992 120.368 133.916 120.368 133.823V133.22C120.368 133.126 120.443 133.051 120.537 133.051H128.963Z"/>
|
||||
</mask>
|
||||
<g filter="url(#filter13_ii_634_12788)">
|
||||
<path d="M128.963 133.051C129.057 133.051 129.132 133.127 129.132 133.22V136.048C129.132 136.141 129.057 136.217 128.963 136.217H120.537C120.443 136.217 120.368 136.141 120.368 136.048V135.686C120.368 135.592 120.292 135.517 120.199 135.517H107.787C107.693 135.517 107.618 135.44 107.618 135.347V134.161C107.618 134.068 107.693 133.992 107.787 133.992H120.199C120.292 133.992 120.368 133.916 120.368 133.823V133.22C120.368 133.126 120.443 133.051 120.537 133.051H128.963Z" fill="#D0C8B6" fill-opacity="0.01"/>
|
||||
</g>
|
||||
<path d="M128.963 133.051L128.963 133.042H128.963V133.051ZM129.132 133.22H129.141L129.141 133.22L129.132 133.22ZM128.963 136.217V136.225L128.963 136.225L128.963 136.217ZM120.537 136.217L120.537 136.225H120.537V136.217ZM107.787 135.517L107.787 135.525H107.787V135.517ZM107.618 134.161L107.609 134.161V134.161H107.618ZM107.787 133.992V133.984L107.787 133.984L107.787 133.992ZM120.368 133.22L120.359 133.22V133.22H120.368ZM120.537 133.051V133.042L120.537 133.042L120.537 133.051ZM128.963 133.051L128.963 133.059C129.052 133.059 129.124 133.131 129.124 133.22L129.132 133.22L129.141 133.22C129.141 133.122 129.061 133.042 128.963 133.042L128.963 133.051ZM129.132 133.22H129.124V136.048H129.132H129.141V133.22H129.132ZM129.132 136.048H129.124C129.124 136.137 129.052 136.208 128.963 136.208L128.963 136.217L128.963 136.225C129.061 136.225 129.141 136.146 129.141 136.048H129.132ZM128.963 136.217V136.208H120.537V136.217V136.225H128.963V136.217ZM120.537 136.217L120.537 136.208C120.448 136.208 120.376 136.137 120.376 136.048H120.368H120.359C120.359 136.146 120.439 136.225 120.537 136.225L120.537 136.217ZM120.368 136.048H120.376V135.686H120.368H120.359V136.048H120.368ZM120.199 135.517V135.508H107.787V135.517V135.525H120.199V135.517ZM107.787 135.517L107.787 135.508C107.698 135.508 107.626 135.435 107.626 135.347H107.618H107.609C107.609 135.445 107.689 135.525 107.787 135.525L107.787 135.517ZM107.618 135.347H107.626V134.161H107.618H107.609V135.347H107.618ZM107.618 134.161L107.626 134.161C107.626 134.073 107.698 134.001 107.787 134.001L107.787 133.992L107.787 133.984C107.689 133.984 107.609 134.063 107.609 134.161L107.618 134.161ZM107.787 133.992V134.001H120.199V133.992V133.984H107.787V133.992ZM120.368 133.823H120.376V133.22H120.368H120.359V133.823H120.368ZM120.368 133.22L120.376 133.22C120.376 133.131 120.448 133.059 120.537 133.059L120.537 133.051L120.537 133.042C120.439 133.042 120.359 133.122 120.359 133.22L120.368 133.22ZM120.537 133.051V133.059H128.963V133.051V133.042H120.537V133.051ZM120.199 133.992V134.001C120.297 134.001 120.376 133.921 120.376 133.823H120.368H120.359C120.359 133.912 120.287 133.984 120.199 133.984V133.992ZM120.368 135.686H120.376C120.376 135.588 120.297 135.508 120.199 135.508V135.517V135.525C120.287 135.525 120.359 135.597 120.359 135.686H120.368Z" fill="black" fill-opacity="0.25" mask="url(#path-18-inside-1_634_12788)"/>
|
||||
</g>
|
||||
<mask id="path-20-inside-2_634_12788" fill="white">
|
||||
<path d="M130.738 137.286C130.738 137.38 130.663 137.456 130.569 137.456H119.313C119.219 137.456 119.144 137.38 119.144 137.286V136.772C119.144 136.679 119.068 136.603 118.974 136.603H106.158C106.065 136.603 105.989 136.527 105.989 136.434V133.072C105.989 132.979 106.065 132.903 106.158 132.903H118.974C119.068 132.903 119.144 132.827 119.144 132.734V131.975C119.144 131.882 119.219 131.806 119.313 131.806H130.569C130.663 131.806 130.738 131.882 130.738 131.975V137.286Z"/>
|
||||
</mask>
|
||||
<path d="M130.569 137.456V137.413H119.313V137.456V137.498H130.569V137.456ZM119.144 137.286H119.186V136.772H119.144H119.101V137.286H119.144ZM118.974 136.603V136.561H106.158V136.603V136.645H118.974V136.603ZM105.989 136.434H106.032V133.072H105.989H105.947V136.434H105.989ZM106.158 132.903V132.945H118.974V132.903V132.861H106.158V132.903ZM119.144 132.734H119.186V131.975H119.144H119.101V132.734H119.144ZM119.313 131.806V131.848H130.569V131.806V131.764H119.313V131.806ZM130.738 131.975H130.696V137.286H130.738H130.781V131.975H130.738ZM130.569 131.806V131.848C130.639 131.848 130.696 131.905 130.696 131.975H130.738H130.781C130.781 131.859 130.686 131.764 130.569 131.764V131.806ZM119.144 131.975H119.186C119.186 131.905 119.243 131.848 119.313 131.848V131.806V131.764C119.196 131.764 119.101 131.859 119.101 131.975H119.144ZM118.974 132.903V132.945C119.091 132.945 119.186 132.85 119.186 132.734H119.144H119.101C119.101 132.804 119.044 132.861 118.974 132.861V132.903ZM105.989 133.072H106.032C106.032 133.002 106.088 132.945 106.158 132.945V132.903V132.861C106.042 132.861 105.947 132.955 105.947 133.072H105.989ZM106.158 136.603V136.561C106.088 136.561 106.032 136.504 106.032 136.434H105.989H105.947C105.947 136.551 106.042 136.645 106.158 136.645V136.603ZM119.144 136.772H119.186C119.186 136.655 119.091 136.561 118.974 136.561V136.603V136.645C119.044 136.645 119.101 136.702 119.101 136.772H119.144ZM119.313 137.456V137.413C119.243 137.413 119.186 137.356 119.186 137.286H119.144H119.101C119.101 137.403 119.196 137.498 119.313 137.498V137.456ZM130.569 137.456V137.498C130.686 137.498 130.781 137.403 130.781 137.286H130.738H130.696C130.696 137.356 130.639 137.413 130.569 137.413V137.456Z" fill="black" fill-opacity="0.15" mask="url(#path-20-inside-2_634_12788)"/>
|
||||
<g clip-path="url(#clip1_634_12788)">
|
||||
<path d="M31.4746 73.7464C39.0751 69.2924 47.7605 62.5926 48.8237 53.0991" stroke="url(#paint7_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M48.8237 53.0987C49.3287 48.5901 44.7809 47.8202 43.3052 51.8003C42.1149 55.0104 41.2543 65.0476 40.569 69.8688C39.8837 74.69 39.7344 75.3532 39.7344 75.3532" stroke="url(#paint8_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M39.7344 75.3534C40.1552 72.552 41.3214 66.9133 43.2691 64.6049C45.4095 62.0681 49.5797 61.4472 50.0861 65.6508C50.4468 68.6446 48.427 73.1171 50.4108 74.632C52.3945 76.1469 57.372 74.8484 59.464 73.4417C60.1618 73.0199 60.8251 72.5872 60.8251 72.5872" stroke="url(#paint9_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M60.8232 72.5886C62.7068 71.4581 64.8475 69.5072 65.6318 66.749C66.4066 64.0238 64.7474 62.2899 62.7463 62.2275" stroke="url(#paint10_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M62.7461 62.2273C61.6385 62.1928 60.4261 62.6703 59.4638 63.7752C57.61 65.9035 57.1052 70.1062 59.1392 72.5107C60.1377 73.8633 62.4857 75.1331 65.3069 75.1253" stroke="url(#paint11_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M65.3071 75.1252C67.7851 75.1183 70.628 74.1207 73.2423 71.3134C73.8589 70.6657 74.2522 70.2315 74.2522 70.2315C75.8633 68.1996 79.1576 64.0795 80.4921 59.3746C81.5721 55.5673 82.2234 50.5738 80.2757 49.6361C79.9827 49.495 79.6805 49.4261 79.374 49.4273" stroke="url(#paint12_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M79.3741 49.4272C77.4161 49.4345 75.2814 52.2971 74.2523 57.4428C73.4138 61.6352 73.2424 63.8472 73.2424 67.0212C73.1822 69.6903 73.9637 75.3459 78.5805 75.4613" stroke="url(#paint13_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M78.5806 75.4616C83.9548 75.5959 87.8237 70.5361 89.5095 67.9232C90.9522 65.6869 93.4164 60.7579 94.4509 56.6337C95.6411 51.8885 95.0067 50.2344 93.3688 49.6724" stroke="url(#paint14_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M93.3689 49.6725C91.3129 48.9671 89.0045 51.7645 87.8864 56.6338C86.8658 61.0785 85.7944 66.9495 87.0929 70.7007C87.5618 72.281 89.5095 75.4416 92.395 75.4416" stroke="url(#paint15_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M92.395 75.4414C96.1218 75.4654 99.1729 72.1952 100.688 66.7849C101.121 65.27 102.751 62.2402 105.81 62.2402" stroke="url(#paint16_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M105.087 75.3693C109.618 75.1673 110.846 70.6683 110.894 68.4441C111.099 66.316 110.361 62.2402 106.061 62.2402" stroke="url(#paint17_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
<path d="M105.088 75.3693C100.258 75.5857 99.753 70.5361 100.688 66.7849C101.121 65.27 102.751 62.2403 105.809 62.2403C109.633 62.2403 109.344 64.0798 112.085 64.0076C114.278 63.9499 116.005 62.4446 116.594 61.6992" stroke="url(#paint18_linear_634_12788)" stroke-width="2.59696" stroke-linecap="round"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_iiiiii_634_12788" x="-1.56689" y="-5.90484" width="151.133" height="157.053" 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 dy="-4.22857"/>
|
||||
<feGaussianBlur stdDeviation="6.34286"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.720833 0 0 0 0 0.720833 0 0 0 0 0.720833 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_634_12788"/>
|
||||
<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 dy="1.69143"/>
|
||||
<feGaussianBlur stdDeviation="1.69143"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.216667 0 0 0 0 0.188681 0 0 0 0 0.188681 0 0 0 0.4 0"/>
|
||||
<feBlend mode="normal" in2="effect1_innerShadow_634_12788" result="effect2_innerShadow_634_12788"/>
|
||||
<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.96"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect2_innerShadow_634_12788" result="effect3_innerShadow_634_12788"/>
|
||||
<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 dy="-4.22857"/>
|
||||
<feGaussianBlur stdDeviation="1.26857"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0.5 0"/>
|
||||
<feBlend mode="normal" in2="effect3_innerShadow_634_12788" result="effect4_innerShadow_634_12788"/>
|
||||
<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 dy="-0.845714"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect4_innerShadow_634_12788" result="effect5_innerShadow_634_12788"/>
|
||||
<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 dy="-2.53714"/>
|
||||
<feGaussianBlur stdDeviation="2.96"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect5_innerShadow_634_12788" result="effect6_innerShadow_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter1_diiiiii_634_12788" x="-3.38286" y="-4.22857" width="154.766" height="135.619" 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 dy="3.38286"/>
|
||||
<feGaussianBlur stdDeviation="1.69143"/>
|
||||
<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.25 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_634_12788"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_634_12788" 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 dy="-4.22857"/>
|
||||
<feGaussianBlur stdDeviation="6.34286"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.720833 0 0 0 0 0.720833 0 0 0 0 0.720833 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect2_innerShadow_634_12788"/>
|
||||
<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 dy="1.69143"/>
|
||||
<feGaussianBlur stdDeviation="1.69143"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.216667 0 0 0 0 0.188681 0 0 0 0 0.188681 0 0 0 0.4 0"/>
|
||||
<feBlend mode="normal" in2="effect2_innerShadow_634_12788" result="effect3_innerShadow_634_12788"/>
|
||||
<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.96"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect3_innerShadow_634_12788" result="effect4_innerShadow_634_12788"/>
|
||||
<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 dy="-5.07429"/>
|
||||
<feGaussianBlur stdDeviation="0.845714"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0.5 0"/>
|
||||
<feBlend mode="normal" in2="effect4_innerShadow_634_12788" result="effect5_innerShadow_634_12788"/>
|
||||
<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 dy="-0.845714"/>
|
||||
<feGaussianBlur stdDeviation="0.422857"/>
|
||||
<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 1 0"/>
|
||||
<feBlend mode="normal" in2="effect5_innerShadow_634_12788" result="effect6_innerShadow_634_12788"/>
|
||||
<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 dy="-2.53714"/>
|
||||
<feGaussianBlur stdDeviation="2.96"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect6_innerShadow_634_12788" result="effect7_innerShadow_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter2_iiiiiii_634_12788" x="9.09343" y="7.27556" width="129.813" height="112.731" 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 dy="1.61089"/>
|
||||
<feGaussianBlur stdDeviation="1.61089"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.216667 0 0 0 0 0.188681 0 0 0 0 0.188681 0 0 0 0.4 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_634_12788"/>
|
||||
<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.81906"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect1_innerShadow_634_12788" result="effect2_innerShadow_634_12788"/>
|
||||
<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 dy="13.5314"/>
|
||||
<feGaussianBlur stdDeviation="2.53714"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0.5 0"/>
|
||||
<feBlend mode="normal" in2="effect2_innerShadow_634_12788" result="effect3_innerShadow_634_12788"/>
|
||||
<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 dx="4.83268"/>
|
||||
<feGaussianBlur stdDeviation="1.20817"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="effect3_innerShadow_634_12788" result="effect4_innerShadow_634_12788"/>
|
||||
<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 dx="-4.83268"/>
|
||||
<feGaussianBlur stdDeviation="1.20817"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0 0.0958333 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="effect4_innerShadow_634_12788" result="effect5_innerShadow_634_12788"/>
|
||||
<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 dy="-0.805446"/>
|
||||
<feGaussianBlur stdDeviation="0.402723"/>
|
||||
<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 1 0"/>
|
||||
<feBlend mode="normal" in2="effect5_innerShadow_634_12788" result="effect6_innerShadow_634_12788"/>
|
||||
<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 dy="-2.41634"/>
|
||||
<feGaussianBlur stdDeviation="2.81906"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="effect6_innerShadow_634_12788" result="effect7_innerShadow_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter3_i_634_12788" x="16.9277" y="14.9761" width="114.144" height="97.8932" 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 dy="3.22179"/>
|
||||
<feGaussianBlur stdDeviation="2.01362"/>
|
||||
<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.75 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter4_i_634_12788" x="14.0747" y="127.714" width="10.1484" height="10.5106" 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 dy="0.362193"/>
|
||||
<feGaussianBlur stdDeviation="0.226371"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.662745 0 0 0 0 0.647059 0 0 0 0 0.603922 0 0 0 1 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter5_f_634_12788" x="118.297" y="130.96" width="13.2862" height="3.21584" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.422857" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter6_f_634_12788" x="118.297" y="135.374" width="13.2862" height="3.15627" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.422857" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter7_f_634_12788" x="128.287" y="131.723" width="3.57961" height="6.57912" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.422857" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter8_f_634_12788" x="105.166" y="132.205" width="14.8833" height="2.84524" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.422857" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter9_f_634_12788" x="105.166" y="134.968" width="17.7769" height="2.79983" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.422857" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter10_f_634_12788" x="104.884" y="132.205" width="3.57961" height="5.38967" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.422857" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter11_f_634_12788" x="118.466" y="135.713" width="2.45167" height="2.28517" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.211429" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter12_f_634_12788" x="128.638" y="134.75" width="2.52589" height="3.28907" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.211429" result="effect1_foregroundBlur_634_12788"/>
|
||||
</filter>
|
||||
<filter id="filter13_ii_634_12788" x="107.618" y="132.882" width="21.5146" height="3.41127" 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 dy="0.253714"/>
|
||||
<feGaussianBlur stdDeviation="0.0380571"/>
|
||||
<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.35 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_634_12788"/>
|
||||
<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 dy="-0.169143"/>
|
||||
<feGaussianBlur stdDeviation="0.0845714"/>
|
||||
<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.05 0"/>
|
||||
<feBlend mode="normal" in2="effect1_innerShadow_634_12788" result="effect2_innerShadow_634_12788"/>
|
||||
</filter>
|
||||
<linearGradient id="paint0_linear_634_12788" x1="149.566" y1="149.457" x2="149.566" y2="-1.67627" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#837D70"/>
|
||||
<stop offset="1" stop-color="#CDC7BC"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_634_12788" x1="148" y1="124.624" x2="148" y2="0" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#B2ACA1"/>
|
||||
<stop offset="1" stop-color="#CBC6B9"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_634_12788" x1="136.49" y1="114.932" x2="136.49" y2="9.69189" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#B2ACA1"/>
|
||||
<stop offset="1" stop-color="#CBC6B9"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint3_linear_634_12788" x1="24.9442" y1="19.9263" x2="118.453" y2="94.826" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#404040"/>
|
||||
<stop offset="0.494792" stop-color="#222222"/>
|
||||
<stop offset="1" stop-color="#404040"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint4_linear_634_12788" x1="14.7875" y1="128.245" x2="24.2563" y2="134.535" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#D8D2C5"/>
|
||||
<stop offset="0.494792" stop-color="#D8D1C6"/>
|
||||
<stop offset="1" stop-color="#CEC8BB"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint5_linear_634_12788" x1="15.2712" y1="127.714" x2="25.0774" y2="141.217" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#ADA89E"/>
|
||||
<stop offset="0.494792" stop-color="#EFEEEB"/>
|
||||
<stop offset="1" stop-color="#ADA99E"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint6_linear_634_12788" x1="130.507" y1="136.892" x2="129.525" y2="135.255" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#918C84"/>
|
||||
<stop offset="1" stop-color="#918C84" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint7_linear_634_12788" x1="50.6632" y1="49.0032" x2="45.5108" y2="76.3874" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#58AA86"/>
|
||||
<stop offset="0.545471" stop-color="#ACD15E"/>
|
||||
<stop offset="0.821609" stop-color="#23929E"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint8_linear_634_12788" x1="50.1583" y1="47.9208" x2="30.3077" y2="72.8156" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#58AA86"/>
|
||||
<stop offset="0.545471" stop-color="#ACD15E"/>
|
||||
<stop offset="1" stop-color="#D7DA0D"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint9_linear_634_12788" x1="39.7344" y1="74.4877" x2="58.2016" y2="75.3534" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#D6D90D"/>
|
||||
<stop offset="0.494792" stop-color="#FAD500"/>
|
||||
<stop offset="1" stop-color="#FDD35D"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint10_linear_634_12788" x1="64.5858" y1="62.7814" x2="59.7525" y2="73.1331" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFCB66"/>
|
||||
<stop offset="1" stop-color="#FFD570"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint11_linear_634_12788" x1="59.4999" y1="76.307" x2="63.1275" y2="60.338" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FF9932"/>
|
||||
<stop offset="1" stop-color="#FFD570"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint12_linear_634_12788" x1="79.1936" y1="49.4356" x2="65.3071" y2="75.1166" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#F9754E"/>
|
||||
<stop offset="1" stop-color="#FF9F38"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint13_linear_634_12788" x1="77.5345" y1="49.4356" x2="77.5345" y2="75.4773" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FA754E"/>
|
||||
<stop offset="0.778645" stop-color="#F65544"/>
|
||||
<stop offset="1" stop-color="#F35F53"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint14_linear_634_12788" x1="93.5131" y1="49.6522" x2="93.5131" y2="75.4775" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.00079382" stop-color="#BF7393"/>
|
||||
<stop offset="1" stop-color="#F35F53"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint15_linear_634_12788" x1="91.3851" y1="49.5802" x2="93.3511" y2="75.3275" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#BF7393"/>
|
||||
<stop offset="1" stop-color="#816CB0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint16_linear_634_12788" x1="92.3367" y1="75.4964" x2="91.2215" y2="60.0103" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#816CB0"/>
|
||||
<stop offset="1" stop-color="#625EAA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint17_linear_634_12788" x1="105.609" y1="62.2763" x2="105.609" y2="75.4054" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#6163B8"/>
|
||||
<stop offset="1" stop-color="#6784D0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint18_linear_634_12788" x1="105.308" y1="75.4054" x2="108.446" y2="59.3547" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#6784D0"/>
|
||||
<stop offset="0.586308" stop-color="#51A5D3"/>
|
||||
<stop offset="1" stop-color="#7FB6DD"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_634_12788">
|
||||
<rect width="148" height="148" rx="20" fill="white"/>
|
||||
</clipPath>
|
||||
<clipPath id="clip1_634_12788">
|
||||
<rect width="87.7916" height="28.9272" fill="white" transform="translate(30.104 47.8486)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 34 KiB |
BIN
public/assets/tools/spin-2.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
public/assets/tools/spin-bar.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
23
public/assets/tools/spin-bar.svg
Normal file
@@ -0,0 +1,23 @@
|
||||
<svg width="188" height="39" viewBox="0 0 188 39" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g filter="url(#filter0_ii_630_12701)">
|
||||
<rect width="188" height="39" rx="10" fill="#1E1E1E"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_ii_630_12701" x="-4.29711" y="-4.29711" width="196.594" height="47.5942" 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 dx="4.65521" dy="5.72948"/>
|
||||
<feGaussianBlur stdDeviation="2.14856"/>
|
||||
<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.5 0"/>
|
||||
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_630_12701"/>
|
||||
<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 dx="-4.71429" dy="-6.6"/>
|
||||
<feGaussianBlur stdDeviation="2.14856"/>
|
||||
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.1875 0 0 0 0 0.1875 0 0 0 0 0.1875 0 0 0 0.5 0"/>
|
||||
<feBlend mode="normal" in2="effect1_innerShadow_630_12701" result="effect2_innerShadow_630_12701"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/assets/tools/spin.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
97
public/assets/tools/spin.svg
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
public/assets/tools/tool-icon-bg.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
public/assets/works/3d-valentines.jpg
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
public/assets/works/3d-valentines.mp4
Normal file
BIN
public/assets/works/gradientshub.jpg
Normal file
|
After Width: | Height: | Size: 188 KiB |
BIN
public/assets/works/gradientshub.mp4
Normal file
BIN
public/assets/works/inspoweb.jpg
Normal file
|
After Width: | Height: | Size: 143 KiB |
BIN
public/assets/works/luonmodels.jpg
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
public/assets/works/luonmodels.mp4
Normal file
BIN
public/assets/works/ricoog.jpg
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
public/assets/works/ricoog.mp4
Normal file
BIN
public/assets/works/ricoui.jpg
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
public/assets/works/ricoui.mp4
Normal file
BIN
public/assets/works/uiuxdeck.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
public/favicon.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
public/og.jpg
Normal file
|
After Width: | Height: | Size: 86 KiB |
2
public/robots.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
BIN
public/wechat-rico.jpg
Normal file
|
After Width: | Height: | Size: 223 KiB |
BIN
public/zanshangma.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
193
src/assets/js/main.js
Normal file
@@ -0,0 +1,193 @@
|
||||
// Add your javascript here
|
||||
import AOS from 'aos';
|
||||
|
||||
window.darkMode = false;
|
||||
|
||||
const stickyClasses = [];
|
||||
const unstickyClasses = [];
|
||||
const stickyClassesContainer = [
|
||||
"shadow-[0px_1px_4px_0_rgba(25,33,61,0.06)]",
|
||||
"rounded-[20px]",
|
||||
"bg-[#ffffff]/65",
|
||||
"border-[#ffffff]/65",
|
||||
"dark:border-neutral-600/40",
|
||||
"dark:bg-neutral-900/60",
|
||||
"backdrop-blur-2xl",
|
||||
"backdrop-brightness-120",
|
||||
];
|
||||
const unstickyClassesContainer = [
|
||||
"shadow-none",
|
||||
"border-transparent",
|
||||
"rounded-none",
|
||||
"bg-transparent",
|
||||
];
|
||||
let headerElement = null;
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
headerElement = document.getElementById("header");
|
||||
|
||||
if (
|
||||
localStorage.getItem("dark_mode") &&
|
||||
localStorage.getItem("dark_mode") === "true"
|
||||
) {
|
||||
window.darkMode = true;
|
||||
showNight();
|
||||
} else {
|
||||
showDay();
|
||||
}
|
||||
stickyHeaderFuncionality();
|
||||
applyMenuItemClasses();
|
||||
evaluateHeaderPosition();
|
||||
mobileMenuFunctionality();
|
||||
|
||||
// 初始化 AOS
|
||||
AOS.init({
|
||||
duration: 400,
|
||||
easing: 'ease-out-cubic',
|
||||
once: true,
|
||||
offset: 20,
|
||||
delay: 0,
|
||||
});
|
||||
});
|
||||
|
||||
// window.toggleDarkMode = function(){
|
||||
// document.documentElement.classList.toggle('dark');
|
||||
// if(document.documentElement.classList.contains('dark')){
|
||||
// localStorage.setItem('dark_mode', true);
|
||||
// window.darkMode = true;
|
||||
// } else {
|
||||
// window.darkMode = false;
|
||||
// localStorage.setItem('dark_mode', false);
|
||||
// }
|
||||
// }
|
||||
|
||||
window.stickyHeaderFuncionality = () => {
|
||||
window.addEventListener("scroll", () => {
|
||||
evaluateHeaderPosition();
|
||||
});
|
||||
};
|
||||
|
||||
window.evaluateHeaderPosition = () => {
|
||||
if (window.scrollY > 48) {
|
||||
headerElement.firstElementChild.classList.add(...stickyClassesContainer);
|
||||
headerElement.firstElementChild.classList.remove(
|
||||
...unstickyClassesContainer,
|
||||
);
|
||||
headerElement.classList.add(...stickyClasses);
|
||||
headerElement.classList.remove(...unstickyClasses);
|
||||
// document.getElementById("menu").classList.add("top-[75px]");
|
||||
// document.getElementById("menu").classList.remove("top-[75px]");
|
||||
} else {
|
||||
headerElement.firstElementChild.classList.remove(...stickyClassesContainer);
|
||||
headerElement.firstElementChild.classList.add(...unstickyClassesContainer);
|
||||
headerElement.classList.add(...unstickyClasses);
|
||||
headerElement.classList.remove(...stickyClasses);
|
||||
// document.getElementById("menu").classList.remove("top-[56px]");
|
||||
// document.getElementById("menu").classList.add("top-[75px]");
|
||||
}
|
||||
};
|
||||
|
||||
document.getElementById("darkToggle").addEventListener("click", () => {
|
||||
document.documentElement.classList.add("duration-300");
|
||||
|
||||
if (document.documentElement.classList.contains("dark")) {
|
||||
localStorage.removeItem("dark_mode");
|
||||
showDay(true);
|
||||
} else {
|
||||
localStorage.setItem("dark_mode", true);
|
||||
showNight(true);
|
||||
}
|
||||
});
|
||||
|
||||
function showDay(animate) {
|
||||
document.getElementById("sun").classList.remove("setting");
|
||||
document.getElementById("moon").classList.remove("rising");
|
||||
|
||||
let timeout = 0;
|
||||
|
||||
if (animate) {
|
||||
timeout = 500;
|
||||
|
||||
document.getElementById("moon").classList.add("setting");
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
document.getElementById("dayText").classList.remove("hidden");
|
||||
document.getElementById("nightText").classList.add("hidden");
|
||||
|
||||
document.getElementById("moon").classList.add("hidden");
|
||||
document.getElementById("sun").classList.remove("hidden");
|
||||
|
||||
if (animate) {
|
||||
document.documentElement.classList.remove("dark");
|
||||
document.getElementById("sun").classList.add("rising");
|
||||
}
|
||||
}, timeout);
|
||||
}
|
||||
|
||||
function showNight(animate) {
|
||||
document.getElementById("moon").classList.remove("setting");
|
||||
document.getElementById("sun").classList.remove("rising");
|
||||
|
||||
let timeout = 0;
|
||||
|
||||
if (animate) {
|
||||
timeout = 500;
|
||||
|
||||
document.getElementById("sun").classList.add("setting");
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
document.getElementById("nightText").classList.remove("hidden");
|
||||
document.getElementById("dayText").classList.add("hidden");
|
||||
|
||||
document.getElementById("sun").classList.add("hidden");
|
||||
document.getElementById("moon").classList.remove("hidden");
|
||||
|
||||
if (animate) {
|
||||
document.documentElement.classList.add("dark");
|
||||
document.getElementById("moon").classList.add("rising");
|
||||
}
|
||||
}, timeout);
|
||||
}
|
||||
|
||||
window.applyMenuItemClasses = () => {
|
||||
const menuItems = document.querySelectorAll("#menu a");
|
||||
for (let i = 0; i < menuItems.length; i++) {
|
||||
if (menuItems[i].pathname === window.location.pathname) {
|
||||
menuItems[i].classList.add("text-neutral-900", "dark:text-white");
|
||||
}
|
||||
}
|
||||
//:class="{ 'text-neutral-900 dark:text-white': window.location.pathname == '{menu.url}', 'text-neutral-700 dark:text-neutral-400': window.location.pathname != '{menu.url}' }"
|
||||
};
|
||||
|
||||
function mobileMenuFunctionality() {
|
||||
document.getElementById("openMenu").addEventListener("click", () => {
|
||||
openMobileMenu();
|
||||
});
|
||||
|
||||
document.getElementById("closeMenu").addEventListener("click", () => {
|
||||
closeMobileMenu();
|
||||
});
|
||||
}
|
||||
|
||||
window.openMobileMenu = () => {
|
||||
document.getElementById("openMenu").classList.add("hidden");
|
||||
document.getElementById("closeMenu").classList.remove("hidden");
|
||||
document.getElementById("menu").classList.remove("hidden");
|
||||
document.getElementById("mobileMenuBackground").classList.add("opacity-0");
|
||||
document.getElementById("mobileMenuBackground").classList.remove("hidden");
|
||||
|
||||
setTimeout(() => {
|
||||
document
|
||||
.getElementById("mobileMenuBackground")
|
||||
.classList.remove("opacity-0");
|
||||
}, 1);
|
||||
};
|
||||
|
||||
window.closeMobileMenu = () => {
|
||||
document.getElementById("closeMenu").classList.add("hidden");
|
||||
document.getElementById("openMenu").classList.remove("hidden");
|
||||
document.getElementById("menu").classList.add("hidden");
|
||||
document.getElementById("mobileMenuBackground").classList.add("hidden");
|
||||
};
|
||||
BIN
src/assets/work/3dicons/01.jpg
Normal file
|
After Width: | Height: | Size: 674 KiB |
BIN
src/assets/work/3dicons/02.jpg
Normal file
|
After Width: | Height: | Size: 858 KiB |
BIN
src/assets/work/3dicons/03.jpg
Normal file
|
After Width: | Height: | Size: 390 KiB |
BIN
src/assets/work/3dicons/04.jpg
Normal file
|
After Width: | Height: | Size: 440 KiB |
BIN
src/assets/work/3dicons/05.jpg
Normal file
|
After Width: | Height: | Size: 878 KiB |
BIN
src/assets/work/3dicons/06.jpg
Normal file
|
After Width: | Height: | Size: 519 KiB |
BIN
src/assets/work/3dicons/07.jpg
Normal file
|
After Width: | Height: | Size: 689 KiB |
BIN
src/assets/work/3dicons/08.jpg
Normal file
|
After Width: | Height: | Size: 583 KiB |
BIN
src/assets/work/3dicons/preview.jpg
Normal file
|
After Width: | Height: | Size: 420 KiB |
BIN
src/assets/work/free-3d-valentines-assets/01.jpg
Normal file
|
After Width: | Height: | Size: 321 KiB |
BIN
src/assets/work/free-3d-valentines-assets/02.jpg
Normal file
|
After Width: | Height: | Size: 197 KiB |