implement talisman
This commit is contained in:
2
app.py
2
app.py
@ -4,6 +4,7 @@ from flask import render_template, url_for, send_from_directory, redirect, reque
|
|||||||
from flask_login import login_user, login_required, current_user, LoginManager, UserMixin, logout_user
|
from flask_login import login_user, login_required, current_user, LoginManager, UserMixin, logout_user
|
||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
from werkzeug.security import generate_password_hash, check_password_hash
|
from werkzeug.security import generate_password_hash, check_password_hash
|
||||||
|
from talisman import Talisman
|
||||||
import hashlib
|
import hashlib
|
||||||
import time
|
import time
|
||||||
|
|
||||||
@ -36,6 +37,7 @@ def create():
|
|||||||
|
|
||||||
db = SQLAlchemy()
|
db = SQLAlchemy()
|
||||||
app = create()
|
app = create()
|
||||||
|
Talisman(app)
|
||||||
|
|
||||||
|
|
||||||
class User(UserMixin, db.Model):
|
class User(UserMixin, db.Model):
|
||||||
|
|||||||
130
static/cal.css
Normal file
130
static/cal.css
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
:root {
|
||||||
|
--numDays: 5;
|
||||||
|
--numHours: 10;
|
||||||
|
--timeHeight: 60px;
|
||||||
|
--calBgColor: #fff1f8;
|
||||||
|
--eventBorderColor: #f2d3d8;
|
||||||
|
--eventColor1: #ffd6d1;
|
||||||
|
--eventColor2: #fafaa3;
|
||||||
|
--eventColor3: #e2f8ff;
|
||||||
|
--eventColor4: #d1ffe6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar {
|
||||||
|
display: grid;
|
||||||
|
gap: 10px;
|
||||||
|
grid-template-columns: auto 1fr;
|
||||||
|
margin: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: repeat(var(--numHours), var(--timeHeight));
|
||||||
|
}
|
||||||
|
|
||||||
|
.days {
|
||||||
|
display: grid;
|
||||||
|
grid-column: 2;
|
||||||
|
gap: 5px;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
||||||
|
}
|
||||||
|
|
||||||
|
.events {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: repeat(var(--numHours), var(--timeHeight));
|
||||||
|
border-radius: 5px;
|
||||||
|
background: var(--calBgColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
.start-1000 {
|
||||||
|
grid-row-start: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start-1200 {
|
||||||
|
grid-row-start: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start-1300 {
|
||||||
|
grid-row-start: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start-1400 {
|
||||||
|
grid-row-start: 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.end-1200 {
|
||||||
|
grid-row-end: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.end-1300 {
|
||||||
|
grid-row-end: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.end-1500 {
|
||||||
|
grid-row-end: 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.end-1600 {
|
||||||
|
grid-row-end: 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.end-1700 {
|
||||||
|
grid-row-end: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-weight: 600;
|
||||||
|
margin-bottom: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event {
|
||||||
|
border: 1px solid var(--eventBorderColor);
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 0.5rem;
|
||||||
|
margin: 0 0.5rem;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.space,
|
||||||
|
.date {
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: system-ui, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.corp-fi {
|
||||||
|
background: var(--eventColor1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ent-law {
|
||||||
|
background: var(--eventColor2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.writing {
|
||||||
|
background: var(--eventColor3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.securities {
|
||||||
|
background: var(--eventColor4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-num {
|
||||||
|
font-size: 3rem;
|
||||||
|
font-weight: 600;
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-day {
|
||||||
|
display: inline;
|
||||||
|
font-size: 3rem;
|
||||||
|
font-weight: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=cal.css.map */
|
||||||
1
static/cal.css.map
Normal file
1
static/cal.css.map
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"sourceRoot":"","sources":["cal.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA","file":"cal.css"}
|
||||||
Reference in New Issue
Block a user