jws-frontend/src/css/app.scss
Methapon Metanipat 972f6ba13e
feat: menu request list (#75)
* feat: i18n

* feat: request list

* refactor: hide stat transition on app.scss

* feat: request list i18n

* feat: request list => constants and main page

* feat: add store

* feat: add fetch data

* feat: add utilities fn

* feat: add store function / types

* refactor: request list type

* refactor: request list constants

* refactor: quotation card => add customData and badge color props

* feat: avatar group components

* feat: request list group

* refactor: request list => remove tab, add table data

* feat: send search query

* feat: add parameter

* refactor: remove unused function

* fix: rename component lits to list

* feat: show stats from api

* chore: cleanup

* refactor: make it type safe

* refactor: accept rotate flow id as parameter

* feat: use page size component

* feat: add component, data display & expansion product

* feat: i18n

* refactor: constants and request list table

* refactor: type code, createdAt, updatedAt

* refactor: utils function changThemeMode

* feat: request list => view page

* refactor: use type instead of infer from value

* fix: function getEmployeeName att type

* refactor: fetch work list

* refactor: loop work list

* feat: add i18n duty

* feat: add form issue component

* feat: add form issue section

* fix: store error

* refactor: edit by value

* refactor: accept basic info from outside instead

* feat: add status filter support on fetch

* refactor: remove delete button

* refactor: wording

* feat/fix: request list i18n & constant

* feat: document type

* feat/refactor: request list => document expansion

* refactor: doc expansion use FormGroupHead

* refactor: fetch data based on id from route param

* refactor: text area disable

* feat: properties expansion display (mocking)

* refactor: add document at product relation

* refactor: edit get value product

* feat: get workflow step to show on top

* refactor: add type

* refactor: add get attachment

* refactor: add view attachment

* refactor: edit file name

* refactor: define props get hide icon

* refactor: edit align row

* refactor: by value table document

* refactor: by value row table

* feat: add independent ocr dialog

* chore: clean up

* refactor: accept more props and small adjustment

* fix: error withDefault call

* feat: accept default metadata when open

* fix: typo

* feat: add override hook when finish ocr

* feat: reset state on open

* feat: detect reader result is actually string

* fix: variable name conflict

* feat: properties to input component

* feat: properties input in properties expansion

* feat: properties expansion data (temporary)

* refactor: add i18n status work

* refactor: edit type work status and add step status

* refactor: add edit status work

* refactor: edit step work

* refactor: properties data type

* refactor: filter selected product & specific properties

* feat: add emit event

* refactor: change variable name for better understanding

* refactor: hide step that no properties

* refactor: work status type to validate

* feat: work status color

* refactor: key for filename

* refactor: close expansion when change step

* refactor: responsive meta data

* refactor: product expansion responsive

* fix: dark mode step text color

* fix: document expansion table no data label

* refactor: main page body bordered and overflow hidden

* refactor: use utils function instead

* refactor: add process

* refactor: by value  name

* refactor: add upload file

* refactor: upload file

* refactor: by value

* fix: option worker type

* refactor: fetchRequestAttachment after edit

* fix: metadata display

* refactor: add class full-height

* refactor: edit type

* refactor: fetch file

* refactor: by value visa

* refactor: request list attributes type

* fix: properties to input props (placeholder, readonly, disable)

* feat: request list properties function

* fix: error when no workflow

* docs: update comment to fix indent

* refactor: step type (attributes)

* refactor: add attributes payload on editStatusRequestWork function

* feat/refactor: functional form expansion/filter worklist

* refactor: set attributes properties after submit

* refactor: add request work ready status

* feat: request list => form employee component

* feat/refactor: form expansion select user/layout

* fix: properties readonly

---------

Co-authored-by: puriphatt <puriphat@frappet.com>
Co-authored-by: Thanaphon Frappet <thanaphon@frappet.com>
2024-11-22 18:02:03 +07:00

264 lines
4.8 KiB
SCSS

@import 'open-props/postcss/style';
@import 'open-props/colors-hsl';
@import 'open-props/shadows';
@import 'open-props/zindex';
html {
--radius-2: 7px;
--brand-1: #035aa1;
--brand-2: #f50000;
--border-color: var(--gray-2);
--foreground: black;
--background: var(--gray-2);
--surface-0: var(--background);
--surface-1: white;
--surface-2: var(--gray-0);
--surface-3: var(--gray-1);
--surface-tab: var(--gray-1);
--text-mute: var(--stone-7-hsl);
--text-mute-2: var(--stone-9-hsl);
--info-fg: 0 0% 100%;
--info-bg: var(--blue-6-hsl);
--negative-fg: 0 0% 100%;
--negative-bg: var(--red-9-hsl);
--positive-fg: 0 0% 100%;
--positive-bg: var(--teal-7-hsl);
--warning-fg: 0 0% 100%;
--warning-bg: var(--yellow-7-hsl);
--danger-fg: 0 0% 100%;
--danger-bg: var(--orange-7-hsl);
--gender-male: var(--blue-5-hsl);
--gender-female: var(--pink-7-hsl);
--customer-corp: var(--purple-11-hsl);
--customer-pers: var(--teal-9-hsl);
--shadow-color: 220 3% 15%;
--shadow-strength: 5%;
--inner-shadow-highlight: inset 0 -0.5px 0 0 #fff,
inset 0 0.5px 0 0 rgba(0, 0, 0, 0.067);
color: var(--foreground);
background-color: var(--background);
}
:where(.dark, .body--dark) {
--brand-1: #035aa1;
--brand-2: #f50000;
--border-color: var(--gray-7);
--foreground: white;
--background: var(--gray-11);
--surface-0: var(--background);
--surface-1: var(--gray-10);
--surface-2: var(--gray-9);
--surface-3: var(--gray-11);
--surface-tab: var(--gray-9);
--customer-corp: var(--purple-9-hsl);
--text-mute: var(--stone-8-hsl);
--text-mute-2: var(--foreground);
--shadow-color: 220 0% 100%;
--shadow-strength: 25%;
--inner-shadow-highlight: inset 0 -0.5px 0 0 hsla(0, 0%, 100%, 0.067),
inset 0 0.5px 0 0 rgba(0, 0, 0, 0.467);
}
::-webkit-scrollbar {
width: 0.5rem;
height: 0.5rem;
}
::-webkit-scrollbar-thumb {
border: 0.15rem solid rgba(0, 0, 0, 0);
background-color: hsla(0, 0%, 50%, 0.75);
background-clip: padding-box;
border-radius: 0.5rem;
}
*,
::before,
::after {
transition: 100ms background ease-in-out;
}
.bordered {
border: 1px solid var(--border-color);
}
.bordered-t {
border-top: 1px solid var(--border-color);
}
.bordered-b {
border-bottom: 1px solid var(--border-color);
}
.bordered-l {
border-left: 1px solid var(--border-color);
}
.bordered-r {
border-right: 1px solid var(--border-color);
}
.rounded {
border-radius: var(--radius-2);
}
.surface-0 {
background-color: var(--surface-0) !important;
}
.surface-1 {
background-color: var(--surface-1) !important;
}
.surface-2 {
background-color: var(--surface-2) !important;
}
.surface-3 {
background-color: var(--surface-3) !important;
}
.surface-tab {
background-color: var(--surface-tab) !important;
}
.app-text-muted {
color: hsl(var(--text-mute));
}
.app-text-muted-2 {
color: hsl(var(--text-mute-2));
}
.app-text-info {
color: hsl(var(--info-bg));
}
.app-bg-info {
color: hsl(var(--info-fg));
background-color: hsl(var(--info-bg));
}
.app-text-negative {
color: hsl(var(--negative-bg));
}
.app-bg-negative {
color: hsl(var(--negative-fg));
background-color: hsl(var(--negative-bg));
}
.app-text-positive {
color: hsl(var(--positive-bg)) !important;
}
.app-bg-positive {
color: hsl(var(--positive-fg));
background-color: hsl(var(--positive-bg));
}
.app-text-warning {
color: hsl(var(--warning-bg));
}
.app-bg-warning {
color: hsl(var(--warning-fg));
background-color: hsl(var(--warning-bg));
}
.app-text-danger {
color: hsl(var(--danger-bg));
}
.app-bg-danger {
color: hsl(var(--danger-fg));
background-color: hsl(var(--danger-bg));
}
.app-text-male {
color: hsl(var(--gender-male));
}
.app-bg-male {
color: hsl(var(--positive-fg));
background-color: hsl(var(--gender-male)) !important;
}
.app-text-female {
color: hsl(var(--gender-female));
}
.app-bg-female {
color: hsl(var(--positive-fg));
background-color: hsl(var(--gender-female)) !important;
}
.app-text-corp {
color: hsl(var(--customer-corp));
}
.app-bg-corp {
color: hsl(var(--customer-corp));
background-color: hsla(var(--customer-corp) / 0.2) !important;
}
.app-text-pers {
color: hsl(var(--customer-pers));
}
.app-bg-pers {
color: hsl(var(--customer-pers));
background-color: hsla(var(--customer-pers) / 0.2) !important;
}
.app-bg-brand-1 {
color: white;
background-color: var(--brand-1);
}
@page {
size: a4 portrait;
margin-top: 0.5in;
margin-left: 0.5in;
margin-right: 0.5in;
margin-bottom: 0.5in;
}
@media print {
html {
background-color: white;
}
.no-print {
display: none;
}
}
.slide-enter-active {
transition: all 0.1s ease-out;
}
.slide-leave-active {
transition: all 0.1s cubic-bezier(1, 0.5, 0.8, 1);
}
.slide-enter-from,
.slide-leave-to {
transform: translateY(-20px);
opacity: 0;
}