Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

419 menu 菜单1 #420

Merged
merged 16 commits into from
Sep 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# icons
icons/*
!icons/create_icon.sh
!icons/1024x1024.png
!icons/logo.svg
icons/icons

.idea

Expand Down
3 changes: 3 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ prefer-workspace-packages=true

# electron_mirror is used to speed up electron installation
electron_mirror=https://npmmirror.com/mirrors/electron/
sharp_binary_host=https://npmmirror.com/mirrors/sharp
sharp_libvips_binary_host=https://npmmirror.com/mirrors/sharp-libvips


# https://pnpm.io/zh/npmrc#node-linker
node-linker=hoisted
Expand Down
2 changes: 1 addition & 1 deletion apps/electron/electron-builder.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const options = {
directories: {
buildResources: "build",
},
icon: "build/icons/icon.icns",
icon: "resources/icon.icns",
asar: !isTestBuilder,
files: [
"!**/.vscode/*",
Expand Down
9 changes: 5 additions & 4 deletions apps/electron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"build:linux": "electron-vite build && electron-builder --linux --config",
"build:mac": "pnpm clean:dist && pnpm build && electron-builder --mac --config ./electron-builder.cjs",
"build:win": "pnpm clean:dist && pnpm build && electron-builder --win --config",
"clean": "git clean -xdf .turbo node_modules out dist",
"clean:dist": "git clean -xdf dist/*",
"clean": "git clean -xdf node_modules out dist .turbo",
"clean:dist": "git clean -xdf dist",
"dev": "electron-vite dev",
"format": "prettier --check \"**/*.{mjs,ts,md,json}\"",
"postinstall": "electron-builder install-app-deps",
Expand All @@ -31,6 +31,7 @@
"@rao-pics/api": "workspace:^",
"@rao-pics/constant": "workspace:^",
"@rao-pics/db": "workspace:*",
"@sentry/node": "^7.70.0",
"@tanstack/react-query": "^4.32.6",
"@trpc/client": "^10.37.1",
"@trpc/react-query": "^10.37.1",
Expand All @@ -50,7 +51,6 @@
"@rao-pics/prettier-config": "workspace:^",
"@rao-pics/tailwind-config": "workspace:*",
"@rao-pics/tsconfig": "^0.1.0",
"@sentry/electron": "^4.11.0",
"@sentry/vite-plugin": "^2.7.1",
"@types/ip": "^1.1.0",
"@types/lodash": "^4.14.197",
Expand All @@ -69,5 +69,6 @@
"tailwindcss": "3.3.2",
"typescript": "^5.1.6",
"vite": "^4.4.2"
}
},
"productName": "Rao Pics"
}
Binary file added apps/electron/resources/icon.icns
Binary file not shown.
Binary file added apps/electron/resources/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 25 additions & 2 deletions apps/electron/src/main/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@ import { join } from "path";
import { app, BrowserWindow, dialog, shell } from "electron";
import { createIPCHandler } from "electron-trpc/main";
import { electronApp, optimizer } from "@electron-toolkit/utils";
import * as Sentry from "@sentry/electron";
import * as Sentry from "@sentry/node";
import getPort, { portNumbers } from "get-port";
import ip from "ip";

import { router, startExpressServer, stopExpressServer } from "@rao-pics/api";
import { DEFAULT_THEME } from "@rao-pics/constant";
import { IS_DEV } from "@rao-pics/constant/server";
import { IS_DEV, PLATFORM } from "@rao-pics/constant/server";
import { createDbPath } from "@rao-pics/db";

import { hideDock } from "./src/dock";
import { createCustomIPCHandle } from "./src/ipc";
import createMenu from "./src/menu";
import createTray from "./src/tray";

/**
* Sentry init
Expand Down Expand Up @@ -101,6 +104,13 @@ function createWindow(): void {
return { action: "deny" };
});

mainWindow.on("close", (e) => {
if (process.env.QUITE != "true") {
e.preventDefault();
mainWindow.hide();
}
});

// HMR for renderer base on electron-vite cli.
// Load the remote URL for development or the local html file for production.
if (IS_DEV && process.env.ELECTRON_RENDERER_URL) {
Expand All @@ -114,6 +124,9 @@ function createWindow(): void {
void mainWindowReadyToShow();
createIPCHandler({ router, windows: [mainWindow] });
createCustomIPCHandle();
createMenu(mainWindow);
createTray(mainWindow);
hideDock(mainWindow);
}

// This method will be called when Electron has finished
Expand Down Expand Up @@ -153,11 +166,21 @@ app.on("window-all-closed", () => {
}
});

app.on("before-quit", (e) => {
if (process.env.QUITE != "true") {
e.preventDefault();
}
});

app.on("quit", () => {
// 关闭子进程
controller.abort();
// 关闭静态服务器
stopExpressServer();

if (PLATFORM != "darwin") {
app.quit();
}
});

// Catch all error.
Expand Down
16 changes: 16 additions & 0 deletions apps/electron/src/main/src/dock.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { app } from "electron";
import type { BrowserWindow } from "electron";

import { PLATFORM } from "@rao-pics/constant/server";

/**
* 隐藏 dock 图标
* @param window
*/
export const hideDock = (window: BrowserWindow) => {
if (PLATFORM === "darwin") {
app.dock.hide();
} else {
window.setSkipTaskbar(true);
}
};
41 changes: 41 additions & 0 deletions apps/electron/src/main/src/menu.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import type { BrowserWindow } from "electron";
import { app, Menu } from "electron";

/**
* 创建菜单
*/
const createMenu = (window: BrowserWindow) => {
const menu = Menu.buildFromTemplate([
{
label: app.name,
submenu: [
{ role: "about" },
{ type: "separator" },
{ role: "services" },
{ type: "separator" },
{ role: "hide" },
{ role: "hideOthers" },
{ role: "unhide" },
{ type: "separator" },
{
label: "Close",
accelerator: "CmdOrCtrl+W",
click: () => {
window.hide();
},
},
{
label: "Quit",
accelerator: "CmdOrCtrl+Q",
click: () => {
window.hide();
},
},
],
},
]);

Menu.setApplicationMenu(menu);
};

export default createMenu;
40 changes: 40 additions & 0 deletions apps/electron/src/main/src/tray.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import type { BrowserWindow } from "electron";
import { app, Menu, nativeImage, Tray } from "electron";

import icon from "../../../resources/[email protected]?asset";

const createTray = (window: BrowserWindow) => {
const tray = new Tray(nativeImage.createFromPath(icon));

const contextMenu = Menu.buildFromTemplate([
{
label: "关于",
click: () => {
app.showAboutPanel();
},
},
{ type: "separator" },
{
label: "退出",
click: () => {
process.env.QUITE = "true";
app.quit();
},
},
]);

tray.on("click", (e) => {
if (e.altKey) {
// 触控板 + alt 显示菜单
tray.popUpContextMenu(contextMenu);
} else {
window.show();
}
});

tray.on("right-click", () => {
tray.popUpContextMenu(contextMenu);
});
};

export default createTray;
Binary file modified icons/1024x1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions icons/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
main {
width: 512px;
height: 512px;
padding: 48px;
}
div {
width: 100%;
height: 100%;
background-image: linear-gradient(
-225deg,
#3d4e81 0%,
#5753c9 48%,
#6e7ff3 100%
);
border-radius: 50%;
}
</style>
</head>
<body>
<main>
<div>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512"
style="
width: 105%;
height: 105%;
position: relative;
left: -12px;
top: -12px;
fill: #fff;
filter: drop-shadow(16px -4px 2px rgba(0, 0, 0, 0.2));
"
>
<path
stroke="#fff"
stroke-width="2"
d="M336.781 25.5938C333.972 25.6638 331.151 26.0882 328.406 26.6562C319.11 28.5801 310.597 32.9219 302.75 38.1562C300.41 39.717 298.112 41.3468 295.906 43.0938C287.452 49.7887 280.824 58.6331 274.906 67.5625C261.646 87.5702 251.092 110.707 250.719 135.094C250.631 140.806 251.131 146.522 252.25 152.125C252.82 154.98 253.539 157.775 254.656 160.469C256.168 164.113 258.189 167.518 259.969 171.031C251.611 178.704 243.199 186.328 234.938 194.094C223.734 204.625 212.687 215.342 201.281 225.656C192.185 233.883 182.777 241.751 173.562 249.844C166.833 255.754 160.275 261.856 153.531 267.75C148.569 272.087 143.454 276.261 138.281 280.344C137.522 280.943 136.731 281.498 135.969 282.094C133.34 278.57 130.637 275.091 127.656 271.875C121.754 265.507 115.038 259.936 108.188 254.625C104.737 251.95 101.233 249.352 97.75 246.719C96.5158 245.785 95.2798 244.838 94.0938 243.844C93.6015 243.431 93.1378 242.986 92.6562 242.562C92.6455 242.552 92.6425 242.548 92.625 242.531C92.5555 242.458 92.4748 242.386 92.4062 242.312C92.3022 242.2 92.1955 242.083 92.0938 241.969C91.8063 241.646 91.5559 241.369 91.2812 241.031C90.376 239.918 89.5405 238.749 88.7812 237.531C86.7382 234.254 85.0503 230.45 84.9375 226.531C84.6295 215.827 91.6517 206.994 98.2188 199.312C99.8957 197.351 101.581 195.414 103.312 193.5C121.035 173.905 141.176 156.711 159.969 138.188C166.749 131.505 173.174 124.387 178.75 116.656C181.239 113.206 184.238 108.69 182.812 104.219C182.002 101.678 180.08 99.5465 178.25 97.6875C176.877 96.2927 175.59 95.0909 174.094 93.8125C169.6 89.9741 164.698 86.4762 159.375 83.875C156.693 82.5645 153.898 81.452 151 80.7188C147.359 79.7975 143.569 79.4254 139.844 79C130.986 77.9885 122.121 77.9651 113.219 77.875C99.0359 77.7315 84.8779 76.6643 71.0312 73.4688C70.373 74.2134 73.5562 78.0861 78.125 82.125C82.6937 86.1639 86.9042 88.8384 87.5625 88.0938C96.5726 90.1722 105.714 91.4393 114.938 92.0625C122.154 92.5501 129.395 92.6128 136.625 92.6562C144.109 92.7013 151.567 93.078 159 93.9688C160.813 94.186 162.597 94.4962 164.375 94.8125C164.248 95.2883 164.116 95.7661 163.938 96.2188C162.523 99.8001 159.975 102.878 157.625 105.875C154.254 110.175 150.757 114.404 147 118.375C142.186 123.464 137.048 128.273 131.969 133.094C115.159 149.049 97.8051 164.484 82.4688 181.906C74.9225 190.479 66.1122 200.419 66.4688 212.625C66.6789 219.817 71.528 226.97 76.0312 232.25C79.0237 235.758 82.4056 238.909 85.875 241.938C93.5788 248.663 101.96 254.534 109.969 260.875C109.992 260.893 110.008 260.919 110.031 260.938C111.132 261.93 112.237 262.906 113.25 264C115.836 266.793 118.061 269.929 120.344 272.969C123.33 276.946 126.258 281.117 128 285.812C128.23 286.431 128.364 287.089 128.562 287.719C117.424 296.165 106.122 304.378 94.8125 312.594C87.62 317.819 80.4941 323.113 73.375 328.438C64.0958 335.377 54.774 342.296 46 349.875C40.9097 354.272 36.0247 358.953 31.375 363.812C26.7883 368.606 22.392 373.692 19.0312 379.438C17.5732 381.93 16.3202 384.559 15.4375 387.312C14.6972 389.622 14.2715 392.029 13.8125 394.406C13.261 397.263 12.7917 400.272 13.4375 403.156C14.0436 405.863 15.7536 408.157 17.375 410.344C19.7964 413.61 22.5296 416.631 25.4062 419.5C35.5799 429.648 47.4478 437.962 59.75 445.312C68.3715 450.464 77.0467 455.817 86.4375 459.469C89.8014 460.777 93.3729 462.033 96.9688 462.5C98.6246 462.715 100.307 462.68 101.969 462.562C105.564 462.307 109.157 461.743 112.531 460.438C125.41 455.455 130.173 441.771 134.969 430.031C135.839 427.901 136.729 425.779 137.688 423.688C140.183 418.242 142.472 412.757 144.344 407.062C149.854 390.301 152.491 372.609 152.969 355C153.113 349.67 153.031 344.337 152.781 339C152.911 339.166 152.969 339.389 153.125 339.531C156.867 342.95 160.804 346.18 164.812 349.281C165.873 350.102 167.13 350.649 168.312 351.281C171.154 352.801 174.081 352.395 177.125 351.906C178.475 351.689 179.838 351.564 181.188 351.344C191.388 349.678 200.935 345.234 210.594 341.75C229.823 334.813 248.828 327.276 268 320.188C272.87 318.387 277.748 316.657 282.625 314.875C287.857 312.964 293.085 311.12 298.469 309.719C297.844 310.527 297.294 311.346 296.594 312.156C294.153 314.979 291.561 317.695 289.031 320.438C285.5 324.266 282.023 328.133 278.5 331.969C264.079 347.669 248.44 362.18 233.438 377.312C219.955 390.912 207.167 405.149 194.219 419.25C189.621 424.257 185.085 429.346 180.312 434.188C177.755 436.782 174.962 439.153 172.469 441.812C171.016 443.362 169.662 444.969 168.188 446.5C165.923 448.851 163.458 451.308 162.312 454.438C162.043 455.175 161.507 456.427 161.875 457.219C162.099 457.701 162.271 458.227 162.656 458.594C166.029 461.81 169.409 465.052 173.094 467.906C174.959 469.351 177.167 470.33 179.25 471.438C179.576 471.611 180.236 471.713 180.656 471.719C182.179 471.741 183.783 470.944 185.125 470.344C187.225 469.404 189.23 468.363 191.094 467C193.521 465.225 195.705 463.15 198.031 461.25C202.576 457.538 207.081 453.795 211.531 449.969C215.987 446.137 220.427 442.274 224.906 438.469C235.559 429.419 246.335 420.48 257.125 411.594C264.545 405.483 272.062 399.489 279.75 393.719C283.94 390.574 288.14 387.438 292.562 384.625C299.893 379.962 307.694 375.959 315.781 372.781C317.153 372.242 318.593 371.849 320 371.344C320.189 374.022 320.345 376.697 320.656 379.375C321.65 387.92 322.398 396.608 324.656 404.938C325.598 408.411 326.699 411.957 328.5 415.094C331.356 420.067 335.722 424.173 340.062 427.812C346.971 433.607 354.609 438.529 363.094 441.656C366.933 443.071 370.895 444.13 374.875 445.062C378.934 446.013 383.017 446.85 387.125 447.562C409.447 451.435 433.86 452.098 455.375 444.062C461.754 441.68 467.813 438.503 473.281 434.438C475.537 432.761 477.76 430.959 479.656 428.875C482.173 426.11 484.078 422.907 486 419.719C488.839 415.011 491.517 410.14 493.094 404.844C494.767 399.222 495.536 393.382 496.375 387.594C497.841 377.479 498.806 367.352 498.875 357.125C499.502 356.295 495.876 352.505 490.781 348.656C485.687 344.807 481.034 342.357 480.406 343.188C480.338 353.366 479.397 363.434 477.938 373.5C477.028 379.771 476.33 386.279 474.188 392.281C473.555 394.053 472.771 395.956 471.969 397.656C470.511 400.743 468.667 403.706 466.906 406.625C465.105 409.612 463.221 412.548 460.781 415.062C458.54 417.372 455.918 419.355 453.281 421.188C444.949 426.977 435.346 430.755 425.469 432.938C407.036 437.011 387.654 436.002 369.188 432.688C362.83 431.546 356.408 430.255 350.25 428.281C348.81 427.82 347.398 427.234 346 426.656C345.129 424.968 344.486 423.147 343.906 421.344C342.105 415.738 341.071 409.869 340.375 404.031C339.674 398.146 338.826 392.262 338.469 386.344C338.256 382.828 338.043 379.278 337.375 375.812C336.944 373.579 336.344 371.319 335.125 369.375C334.856 368.946 334.563 368.523 334.25 368.125C333.697 367.423 333.161 366.695 332.5 366.094C329.67 363.523 326.86 360.933 323.812 358.625C321.977 357.235 319.911 356.163 317.906 355.031C315.778 353.829 313.384 354.356 311.094 354.5C306.439 354.794 302.09 356.464 297.781 358.156C290.706 360.936 283.861 364.34 277.344 368.25C275.248 369.507 273.31 371.008 271.281 372.375C276.868 366.871 282.468 361.372 287.938 355.75C294.235 349.277 300.272 342.591 306.375 335.938C309.532 332.495 312.776 329.141 315.781 325.562C316.575 324.617 317.394 323.676 318.094 322.656C320.56 319.059 323.061 313.293 321 308.969C320.118 307.118 318.644 305.491 317.188 304.094C313.42 300.481 309.342 297.237 304.875 294.531C303.093 293.452 301.138 292.534 299.062 292.219C297.28 291.948 295.488 292.198 293.719 292.438C291.898 292.684 290.089 292.952 288.281 293.281C284.135 294.037 280.032 294.984 276 296.219C272.649 297.245 269.35 298.478 266.062 299.688C260.72 301.653 255.339 303.557 250 305.531C235.745 310.801 221.613 316.341 207.375 321.656C207.187 321.727 207.001 321.805 206.812 321.875C213.441 317.477 220.047 313.037 226.812 308.844C251.444 293.576 276.986 279.846 302.906 266.906C319.281 258.732 335.847 250.951 352.375 243.094C366.738 236.266 381.087 229.392 395.344 222.344C397.574 221.241 399.841 220.145 402 218.906C403.228 218.202 404.373 217.378 405.594 216.656C407.315 215.638 409.352 214.398 409.812 212.281C409.92 211.787 409.792 211.17 409.469 210.781C408.162 209.209 406.915 207.527 405.344 206.219C401.793 203.261 397.982 200.624 394.156 198.031C393.482 197.574 392.676 197.361 391.906 197.094C391.663 197.009 391.382 196.989 391.125 196.969C389.762 196.864 388.377 197.388 387.062 197.688C384.867 198.187 382.628 198.521 380.438 199.062C375.168 200.365 369.919 201.642 364.625 202.844C357.527 204.455 350.372 205.908 343.125 206.656C339.296 207.052 335.468 207.182 331.625 207.312C328.671 207.413 325.705 207.545 322.75 207.625C317.043 207.78 311.27 207.758 305.656 206.594C302.388 205.916 299.297 204.739 296.219 203.469C293.508 202.35 290.831 201.112 288.25 199.719C287.562 199.347 286.921 198.992 286.25 198.594C286.177 198.551 286.103 198.513 286.031 198.469C286.021 198.458 286.01 198.448 286 198.438C285.63 198.056 285.264 197.67 284.938 197.25C283.888 195.9 283.067 194.341 282.312 192.812C281.144 190.446 280.122 188.012 279 185.625C278.905 185.422 278.785 185.233 278.688 185.031C291.605 173.173 304.43 161.204 316.469 148.438C321.723 142.865 326.827 137.17 331.906 131.438C335.764 127.083 339.563 122.662 343.281 118.188C354.78 104.349 365.606 89.3661 371.188 72.0625C372.269 68.7102 373.185 65.2856 373.781 61.8125C374.378 58.3341 374.604 54.6997 373.562 51.2812C371.917 45.8831 367.168 41.3855 363 37.8438C359.723 35.0585 356.309 32.4646 352.656 30.1875C350.304 28.7208 347.778 27.4487 345.125 26.625C342.405 25.7803 339.59 25.5237 336.781 25.5938ZM355.719 40.4375C355.921 42.3407 355.798 44.3073 355.562 46.0938C354.726 52.4399 352.728 58.7285 350.281 64.625C344.069 79.5956 334.255 92.5901 323.969 104.969C315.709 114.909 307.053 124.567 298.188 133.969C289.137 143.566 279.642 152.692 270 161.688C268.771 153.204 268.985 144.547 270.344 136.094C273.409 117.03 281.96 99.2405 292.438 83.1875C297.723 75.0894 303.532 67.1231 310.688 60.5625C312.833 58.5955 315.107 56.8226 317.469 55.125C326.129 48.9007 335.686 43.5235 346.219 41.3438C349.324 40.701 352.535 40.3548 355.719 40.4375ZM272.188 191.031C272.862 191.732 273.465 192.508 274.156 193.188C277.443 196.419 280.95 199.428 284.594 202.25C292.137 208.094 300.394 212.942 309.156 216.719C312.94 218.349 316.8 219.935 320.812 220.906C329.616 223.038 338.716 222.404 347.688 222.062C345.973 222.883 344.279 223.746 342.562 224.562C323.289 233.725 303.939 242.749 284.844 252.281C258.902 265.232 233.34 279 208.688 294.281C200.11 299.598 191.711 305.158 183.312 310.75C176.71 315.147 169.968 319.403 163.656 324.219C160.058 326.964 156.616 329.901 153.406 333.094C153.091 333.407 152.755 333.846 152.438 334.281C152.267 331.961 152.177 329.621 151.906 327.312C151.342 322.492 150.448 317.719 149.625 312.938C148.993 309.263 148.183 305.596 147.125 302C151.21 298.9 155.311 295.832 159.312 292.625C170.526 283.636 180.991 273.821 191.781 264.344C200.998 256.249 210.432 248.416 219.531 240.188C231.717 229.167 243.498 217.689 255.469 206.438C260.991 201.247 266.599 196.153 272.188 191.031ZM133.156 312.5C134.217 320.84 134.665 329.266 134.562 337.656C134.348 355.183 132.082 372.8 126.969 389.594C125.665 393.876 124.167 398.108 122.469 402.25C121.337 405.012 120.028 407.713 118.812 410.438C117.713 412.902 116.7 415.405 115.688 417.906C111.261 428.84 106.419 441.182 94.5312 445.781C91.2813 447.039 87.8379 447.596 84.375 447.844C81.4332 448.054 78.9449 447.717 76.125 446.906C69.0556 444.873 62.5925 441.324 56.2812 437.625C52.5734 435.452 48.8645 433.263 45.25 430.938C41.7844 428.707 38.6044 426.448 35.9375 423.281C35.0532 422.231 34.2141 421.132 33.4375 420C33.0588 419.448 32.5941 418.833 32.3125 418.188C31.0137 415.208 31.6608 411.582 32.25 408.531C32.6513 406.453 33.0336 404.347 33.625 402.312C34.3316 399.882 35.3333 397.571 36.5312 395.344C40.4839 387.996 46.2179 381.695 52.0625 375.812C59.4796 368.348 67.4012 361.511 75.6875 355.031C81.1836 350.734 86.7929 346.559 92.375 342.375C101.14 335.804 109.971 329.331 118.844 322.906C123.621 319.447 128.393 315.982 133.156 312.5Z"
/>
</svg>
</div>
</main>
</body>
</html>
Loading