mirror of
https://github.com/skoelle/icloud-contacts-sync.git
synced 2026-09-17 23:40:24 +00:00
favicon
This commit is contained in:
@@ -11,6 +11,7 @@ from datetime import date
|
|||||||
|
|
||||||
from fastapi import FastAPI, Depends, Query, Request
|
from fastapi import FastAPI, Depends, Query, Request
|
||||||
from fastapi.responses import HTMLResponse
|
from fastapi.responses import HTMLResponse
|
||||||
|
from fastapi.staticfiles import StaticFiles
|
||||||
from fastapi.templating import Jinja2Templates
|
from fastapi.templating import Jinja2Templates
|
||||||
|
|
||||||
from config import Config
|
from config import Config
|
||||||
@@ -22,6 +23,7 @@ logging.basicConfig(level=Config.LOG_LEVEL, format="%(asctime)s [%(levelname)s]
|
|||||||
logger = logging.getLogger("api")
|
logger = logging.getLogger("api")
|
||||||
|
|
||||||
app = FastAPI(title="iCloud Contacts Sync – Interne API", version="1.0.0")
|
app = FastAPI(title="iCloud Contacts Sync – Interne API", version="1.0.0")
|
||||||
|
app.mount("/static", StaticFiles(directory="api/static"), name="static")
|
||||||
templates = Jinja2Templates(directory="api/templates")
|
templates = Jinja2Templates(directory="api/templates")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" style="stop-color:#007AFF"/>
|
||||||
|
<stop offset="100%" style="stop-color:#5856D6"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- Background circle -->
|
||||||
|
<circle cx="50" cy="50" r="48" fill="url(#bg)"/>
|
||||||
|
|
||||||
|
<!-- Contact book -->
|
||||||
|
<rect x="28" y="22" width="44" height="56" rx="4" fill="#fff" opacity="0.95"/>
|
||||||
|
<rect x="28" y="22" width="8" height="56" rx="2" fill="#E5E5EA"/>
|
||||||
|
|
||||||
|
<!-- Contact silhouette -->
|
||||||
|
<circle cx="54" cy="40" r="8" fill="#8E8E93"/>
|
||||||
|
<path d="M42 58 Q54 48 66 58" fill="#8E8E93"/>
|
||||||
|
|
||||||
|
<!-- Sync arrows -->
|
||||||
|
<path d="M72 35 L80 35 L80 27" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M80 27 L75 22 M80 27 L75 32" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
|
||||||
|
<path d="M72 65 L80 65 L80 73" fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M80 73 L75 68 M80 73 L75 78" fill="none" stroke="#fff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -3,6 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg">
|
||||||
<title>{{ contact.full_name or 'Kontakt' }} – Kontakte</title>
|
<title>{{ contact.full_name or 'Kontakt' }} – Kontakte</title>
|
||||||
<style>
|
<style>
|
||||||
* {
|
* {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg">
|
||||||
<title>Kontakte – {{ account_name }}</title>
|
<title>Kontakte – {{ account_name }}</title>
|
||||||
<style>
|
<style>
|
||||||
* {
|
* {
|
||||||
|
|||||||
Reference in New Issue
Block a user