uLinkShortener/src/components/ui/dashboard/LinkTable.module.css
2025-12-09 01:51:46 +01:00

219 lines
3.2 KiB
CSS

.tableWrapper {
display: flex;
flex-direction: column;
width: 100%;
margin-top: 1rem;
}
.searchContainer {
position: relative;
margin-bottom: 1rem;
}
.searchInput {
width: 100%;
padding: 0.75rem 1rem;
border-radius: 4px;
border: 1px solid var(--border-color);
background-color: var(--input-bg);
color: var(--text-primary);
font-size: 1rem;
box-sizing: border-box;
}
.clearSearchButton {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
color: var(--text-secondary);
cursor: pointer;
font-size: 1rem;
padding: 5px;
}
.clearSearchButton:hover {
color: var(--text-primary);
}
.noResults {
padding: 2rem;
text-align: center;
color: var(--text-secondary);
border: 1px dashed var(--border-color);
border-radius: 4px;
margin-top: 1rem;
}
.tableContainer {
overflow-x: auto;
width: 100%;
max-width: 100%;
border-radius: 4px;
border: 1px solid var(--border-color);
}
.linkTable {
width: 100%;
border-collapse: collapse;
font-size: 0.9rem;
table-layout: fixed;
}
.linkTable th,
.linkTable td {
padding: 0.75rem 1rem;
text-align: left;
border-bottom: 1px solid var(--border-color);
word-wrap: break-word;
overflow-wrap: break-word;
}
.linkTable th {
background-color: var(--table-header-bg);
color: var(--text-primary);
font-weight: 600;
}
.linkTable tr:hover {
background-color: var(--hover-bg);
}
.shortLinkCell {
width: 15%;
}
.shortLink {
color: var(--accent);
text-decoration: none;
font-weight: 500;
font-family: var(--font-geist-mono);
}
.shortLink:hover {
text-decoration: underline;
}
.targetUrl {
width: 40%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.targetUrl a {
color: var(--text-secondary);
text-decoration: none;
overflow: hidden;
text-overflow: ellipsis;
display: block;
}
.targetUrl a:hover {
text-decoration: underline;
color: var(--text-primary);
}
.actions {
display: flex;
gap: 0.5rem;
width: 15%;
}
.copyButton,
.deleteButton {
padding: 0.4rem 0.75rem;
border-radius: 4px;
border: none;
font-size: 0.8rem;
cursor: pointer;
transition: background-color 0.2s ease;
white-space: nowrap;
}
.copyButton {
background-color: var(--accent);
color: white;
}
.copyButton:hover {
background-color: var(--accent-hover);
}
.deleteButton {
background-color: #dc3545;
color: white;
}
.deleteButton:hover {
background-color: #c82333;
}
.deleteButton:disabled {
background-color: #dc354580;
cursor: not-allowed;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.hideOnMobile {
display: none;
}
.shortLinkCell {
width: 25%;
}
.targetUrl {
width: 45%;
}
.targetUrl a {
max-width: 120px;
}
.actions {
width: 60%;
flex-direction: column;
}
.copyButton,
.deleteButton {
padding: 0.3rem 0.5rem;
font-size: 0.75rem;
}
}
/* For very small screens */
@media (max-width: 480px) {
.tableContainer {
border: none;
}
.linkTable {
font-size: 0.8rem;
}
.linkTable th,
.linkTable td {
padding: 0.5rem;
}
.shortLinkCell {
width: 30%;
}
.targetUrl {
width: 40%;
}
.targetUrl a {
max-width: 80px;
}
.actions {
width: 70%;
}
}